posts - 129, comments - 17, trackbacks - 0, articles - 0
  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

精简的Linux C/C++开发环境

Posted on 2005-08-11 17:20 woow 阅读(1650) 评论(0)  编辑 收藏 引用 所属分类: 学习Unix/Linuix/solaris

VC 6.0 是我最喜欢的编程环境,它功能强大,界面朴实精炼,调试方便。在WINDOWS + C++高手手里它是一个强大的武器,对于windows平台的开发来说,有VC 6.0已经足够了。*1:p

但是壁有微瑕,由于历史原因,VC6.0不支持C99和标准C++,给我们学习研究ANSI C和标准C++造成了困难。(很多教材上都强调:如果你运行本书上的例子得不到正确的结果,或许跟你的编译器的实现有关,由于历史原因,它们可能不支持标准C++。举个简单参见拙文《在main()前后执行代码(C++版本) 》)

据说VC 2003.net 是完全支持ANSI的,这一点你通过打印__STDC__可以看出来。(支持ANSI标准的结果为1,不支持的结果为0) 。但是M$对它做很多很多标准以外的扩充,使它能够支持最新的WINDOWS平台的开发,支持.net开发。除了标准C++的语法,还加入很多Manage C++、CLI/C++ 等M$定义的语法,加入了WINDOWS平台API提供的TCHAR宏。(这点从wizzard生成的代码就可以看出来,它默认生成int WINAPI _tmain(int argc, int * argv[]); ?) 这些复杂的东西容易给C++的学习造成误解,是我们分不清那些是标准C++的语素,那些是具体的环境提供的增强版本语素。

那么,什么样的编译器环境才适合学习C++语言呢?偶认为GNU的编译器GCC最适合学习C++,因为它是支持标准最好的编译器,也是免费的软件。GCC在Windows上有一个实现——MingW

Dev-cpp 使用了GNU标准的MingW内核,但是整个IDE环境不成熟,界面速度比较慢不说,并且总是有一些烦人的小bug,在某些环境下,它的界面字体显示的极不正常,而且无法改变。

其实,我们只是想写一小段测试代码,来证明自己对C++的理解是否正确,在这种情况下,让我们建立一个工程(甚至可能就包含一个cpp文件,甚至连头文件都没有),委实有点浪费;在这种情况下,让我们装1G~2G的软件,来验证一个观点,嘿嘿,真是有点太杀鸡用牛刀。

其实,我更希望的是,它能够自动生成一段代码,然后让我把关键之处稍作修改,就能证明我的观点; 最好能够与windows平台和注册表无紧密关联,重装系统也无须再安装;最好能够copy到别的机器上也管用,是纯粹的绿色软件,那就最好不过了。

MWEP正是由此而生。我把MingW(含gcc 3.1.0)整合在EditPlus(2.1.2.76)中,整个环境无需安装既可使用,体积娇小、清爽方便。依靠EditPlus强大的可定制能力, 可以外挂各种插件,定制各种工具、脚本、热键,做为教学实验用的IDE,绰绰有余。偶打算慢慢调整它的功能,使它更方便,更人性化。希望大家能够共同努力,帮助我打造这个小兵器。^_^

注1:.Net/JAVA好手不要籍此丢我的黑砖,在我眼里,.NET/JAVA的主要工作都是对应于WEB的,并且它们一般不用来做WINDOWS各种服务、进程调度等等平台相关的开发。


MingGW-3.1.0-1.exe里面已经包含了gcc, g++;虽然gcc、g++有更新的版本,但是MingGW-3.1.0-1.exe的最新稳定版本就是3.1.0-1了

在EditPlus->Preferences->Usertools 中,选中Capture output,
然后单击Output Pattern,去除Use default output pattern,
Regular expression 选择相应的编译器即可.

Source Insight v3.5 也在用,它用来查找tags比较方便,但是没法编译程序。

http://blog.vckbase.com/smileonce/archive/2004/11/15/1524.aspx

精简的Linux C/C++开发环境 ---------------


这是一个在vmware中安装的slackware linux 10 kernel 2.4.26,采用定制安装,除去了开发时不常用的包,便于copy到偶的小移动硬盘中带来带去。可用于学习linux 下的c/c++程序开发。

大概能够提供的功能是:

gnu 全套开发包(不含fortran/python/java)
可以smb连到window的共享目录,方便和windows交换文档
可以用终端ssh连到linux上,这样就不需要切换vmware屏幕,并且可以把文本粘出来
man全套手册
tcpip常用命令和工具,自己指定ip或dhcp取ip
gpm服务,便于用鼠标粘文本
vim编辑器
apm服务,高级电源管理,自动关机
rp-ppp,可以进行adsl拨号。
cvs client

时间有限,做好就传上来了,没有仔细测试。如果有需要请自行添加、修改;或者回复本贴,我将在下个版本中修改(时间不定)。

暂定的两个用户:
name       : root
password: vckbase.net
name       : vckbase
password: vckbase

1>请先用root登录,然后将ip地址改为(使用命令:netconfig)你所在的子网内的地址。
2>使用samba把windows共享分区mount上。(例如:mount -t smbfs //smileonce/tmplinux /mnt/samba,其中smileonce是我的台式机,tmplinux是台式机共享的目录,/mnt/samba是linux中的目录)。
3>使用putty可以并在session->hostname中添入linux的ip地址,Protocal选ssh,就可以通过ssh连到linux上,这样做就免去了按Ctrl+Alt在vmware和PC间切换之苦了。

下载地址:ftp://vckbase:vckbase@www.hotlove.cn/user/smileonce/tool/mini_slack_linux/

其中: vmware 4.5.2  37M,  putty 372K, slack.rar 93M


http://blog.vckbase.com/smileonce/archive/2004/12/21/2220.html


只有注册用户登录后才能发表评论。