标题: 我再说说DJGPP,是个好东西
[打印本页]
作者: whowin
时间: 2007-5-31 09:26
标题: 我再说说DJGPP,是个好东西
很长时间以来一直在DJGPP下工作,写过的程序没数过,怎么也有几万行了吧,其实在国内真正在DJGPP下工作的人似乎并不多,因为大多数的交流都和国外的同行们做,国内不太容易找到人能做深入的交流。DJGPP+ALLEGRO确实是很强的组合,做32位的代码很不错,因为免不了要做些界面,所以ALLEGRO通常必不可少,但ALLEGRO编译起来确实太慢了,我的有些程序没编译一次甚至可以上趟厕所,当然ALLEGRO在编译时是可以裁减的,但看看资料,好像并不是很简单,就做罢了,其实DJGPP生成的可执行文件也偏大,编译速度要是和TURBO C比也没法比,但人家生成的是32位编码,只好忍了。
DJGPP也有一些不够方便的地方,比如它的inline汇编用的是AT&T的格式,不太习惯,因为我以前做汇编都是在MASM上做,所以现在很少用汇编,除非万不得已,使用32位编码后,使用硬件中断相当的麻烦,尽管DJGPP的拥护者们提出了几种方案,但使用起来都很麻烦,要有十分清晰的头脑才能实现,所以我对硬件尽量不采用中断方式;还有32位编码时要得到内存的物理地址往往有困难,这导致了一些DMA操作受限制,对此我采用了两种方案,一种对于较小的内存块,从1M以内的地址分配,物理地址和线性地址应该是一致的,还有一种就是对于大内存块使用XMS分配内存,可以得到准确的物理地址,而DJGPP提供的函数里,没有能够给出物理地址的。这两种方法我都用过,没有问题。
RHIDE是个很好的开发环境,其实和TURBO C很像,所以上手很容易,但如果使用像ALLEGRO这样的库,设置上会有些不同,初学时可能会很不习惯,大都GNU下的东西都是这样,文档不全,设置复杂,不过人家免费。再有RHIDE的跟踪能力不是很好,尤其是有ALLEGRO或其他库时,往往单步运行会让你找不到北,一定要多设断点才可以跟踪到。
如果要使用网络,WATTCP支持的非常好,另外我还用过JPGALLEG,与ALLEGRO配合处理JPEG图片也非常好。
作者: whowin
时间: 2007-6-1 09:44
很悲哀,看来是真的没有多少人用DJGPP。
用DJGPP的同志们吱一声嘛!
作者: ecurb2006
时间: 2007-6-1 18:37
标题: 呵呵
有的。
GCC在Linux/DOS(DJGPP)/Windows 上的我都有使用。
WATCOM C/C++ 开发32位DOS程序也不错。
作者: stockghost
时间: 2007-6-4 20:55
我用过两三个月的DJGPP,写了点小程序,感觉跟传统的C/C++环境不太一样,刚开始不习惯,后来也就无所谓了,遗憾的是,当时的项目需要调用Quickview播放录像,而在DJGPP下老是出错跳出,最后没有办法改成了Watcom,解决了问题,后来一直未再使用DJGPP.
作者: firstsail
时间: 2007-6-6 12:20
标题: 希望DJGPP能有较好的IDE推出
老是GCC、BCC的命令行式接口,也太烦人吧,希望DJGPP能有较好的IDE推出。
其实到目前为至,Borland C++ 3.1是DOS下最好的C++语言编译器,所以我选择了BC31作为DOS下程序开发工具!我将BC31不常用的部分删除,尺寸删减到4M左右,装在16M的电子盘(或CF卡)上后,还有12M的空间可装载用户程序。
作者: yzhuoxin
时间: 2007-6-21 10:52
最近正在学C DOS32编程,在用DJGPP,请多多指教...
作者: xxxxzzzz
时间: 2007-9-17 03:21
我在98下编程,用批处理文件编译,全部完成后,在纯dos下运行.
poseidon99@163.com
作者: windowsvesta
时间: 2007-9-17 09:38
在DOS下编程的人,本来就少,在DOS下使用DJGPP编程的人数简值可以勿略不计!
作者: maliku
时间: 2007-9-19 19:29
楼上的ID拼错了吧。
我这边有几个。