站内搜索

C语言开发平台的搭建

原帖及讨论:http://bbs.bc-cn.net/dispbbs.asp?boardID=5&ID=163755

    刚学编程的总想哪天自己写个软件出来,我也是,不过学完一本c语言教材后发现自己还是写不出什么象样的东西来,原因就是标准c提供的函数库功能有限,要写出有实用价值的程序你必须使用对应平台下的函数库,比如你的程序在DOS中运行你可以用TC提供的库和dos系统调用,比如dos.h;你要在windows中运行,你要学会调用api这个windows系统提供的函数库;你要在linux中运行,你要学会使用qt或GTK+这些图形库和linux的api。


    先跑下题说一下用tc的,你没有用tc就跳过这段看下段。你应该不会想以后去DOS环境中工作吧,你又没有DOS系统用,你让windows给你的tc和tc编译的程序虚拟一个dos出来,你以为你的程序在调用DOS系统接口(dos.h中的函数),你以为你的程序在调用中断(int86),其实你在自欺欺人,你的程序运行在windows之上虚拟出的一个DOS中所以接触不到真实的硬件,可以理解为虚拟机吧,早点醒过来吧,在turboc2这个目录上按shift+Del键彻底删除吧。

    这里先纠正一些人的错误看法,有人以为c只能写黑屏幕字符模式程序,还有人以为这个黑窗口就是DOS,其实在windows中有一类程序叫console application,你用vc或Dev-C++写的控制台程序就是这种黑窗口的console application,不过和tc的有本质区别,这里的是32位windows程序,而tc编译的是16位dos程序,需要windows虚拟一个dos才可以运行,速度慢还浪费系统资源,鄙视一下。所以在盗版windows已经普及的年代c语言初学者应该用vc或Dev-C++写简单的console application,如一个hello world程序,不要用我们的老师做学生时学的dos下的tc。此处引用我以前回帖的一段:如果有人还在用8086跑DOS或Windows3.x,使用TC编程,你应该是世界上最可怜的人了,因为你过着上世纪90年代中期以前的生活。我现在用来做玩具的凌阳的单片机都是16位的,明年就玩32位的ARM单片机了,现在的PC是AMD3200+跑WINXP SP2和Ubuntu6.06LTS,编译器是VS2003.NET和GCC4.0,和用TC的有10年以上差距了(从WIN95以前到07年)。


一。我想这里大多数人正用着windows系统吧,那就说windows下开发平台的搭建:

1.vc系列IDE:vc6.0,vs2003.net,vs2005.net是现在用的较多的windows编译环境,和windows系统一样都是微软开发的,可以说是windows下最好的IDE,没有比他们更强大的了,我就用vs2003.net写c和c++程序,还做过一些简单的网页。不过功能越强大体积也就越大,vc装好了有500m吧,我的vs2003.net带着2G多的msdn就更大的了(不装msdn也应该比vc6.0大吧)。这几个IDE中vc6.0最为小巧,使用也最简单,用来开发c程序绰绰有余了。优点是vc的调试功能是相当出色的,缺点是体积大下载和安装不方便。


2.Dev-C++:这是GCC移植到windows下的最好的IDE,最新版的安装程序也只有9M,虽然体积小,写windows下的c程序也没有问题,不得不说的是这是一个开源的软件,所以很多人为她开发了很多开发库,比如一些2D,3D的图形库,特别适合喜欢图形编程的c语言爱好者,再说现在游戏开发是软件行业的三大热门之一。另一个优点是为以后转移到linux平台打基础,这里可以学到一些linxu编程的知识。缺点就是IDE中集成的调试器没有VC的强大,命令行工具gdb很多人还是不习惯。


基于Dev-C++的开发平台搭建
我今天中午写了一个Dev-C++中allegro安装的教程,大家可以去这里看看:
http://bbs.bccn.net/thread-163686-1-1.html
这里有Dev-C++的安装方法,还有allegro的安装方法,安装DirectX,OpenGL等其他的Dev-C++开发库和安装allegro一样,如果你选择了Dev-C++就一定要把这里的安装学会,工欲善其事必先利其器,自己的工作平台一定要了如指掌。

二。最后提一下linux下c开发环境的搭建:没有Bill.Gates的东西我们依然可以生活的很好,在linux中其实装一个gcc就够了,直接用vi编辑代码,再装emacs也行,IDE可以选择kdevelop,不过有人说IDE可能会把初学者教傻。

就写这么多吧,还有些问题以后再讨论。
---------------------------------------------------------------------------------------------
毕竟自己见识有限,上面说的有错误或不足,欢迎指出,我会立即改正并致谢。

 

  • 上一篇:编程初学者易犯的毛病
  • 下一篇:关于main()函数