中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-01 11:14
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 我再说说DJGPP,是个好东西 查看 2,362 回复 8
楼 主 我再说说DJGPP,是个好东西 发表于 2007-05-31 09:26 ·  中国 北京 联通
初级用户
积分 174
发帖 37
注册 2006-09-28 03:38
19年会员
UID 63879
状态 离线
很长时间以来一直在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图片也非常好。
2 发表于 2007-06-01 09:44 ·  中国 北京 海淀区 联通
初级用户
积分 174
发帖 37
注册 2006-09-28 03:38
19年会员
UID 63879
状态 离线
很悲哀,看来是真的没有多少人用DJGPP。
用DJGPP的同志们吱一声嘛!
3 呵呵 发表于 2007-06-01 18:37 ·  中国 辽宁 大连 电信
中级用户
★★
www.ecgui.com
积分 272
发帖 123
注册 2006-09-23 07:38
19年会员
UID 63446
状态 离线
有的。
GCC在Linux/DOS(DJGPP)/Windows 上的我都有使用。
WATCOM C/C++ 开发32位DOS程序也不错。
eCGUI-微型嵌入式GUI/ DOS/Linux/uC/OS-II/等 图形界面开发
www.ecgui.com
4 发表于 2007-06-04 20:55 ·  中国 海南 联通
中级用户
★★
积分 215
发帖 105
注册 2007-06-02 22:33
19年会员
UID 90083
性别 男
状态 离线
我用过两三个月的DJGPP,写了点小程序,感觉跟传统的C/C++环境不太一样,刚开始不习惯,后来也就无所谓了,遗憾的是,当时的项目需要调用Quickview播放录像,而在DJGPP下老是出错跳出,最后没有办法改成了Watcom,解决了问题,后来一直未再使用DJGPP.
5 希望DJGPP能有较好的IDE推出 发表于 2007-06-06 12:20 ·  中国 广东 深圳 电信
高级用户
★★
积分 668
发帖 295
注册 2005-07-26 00:00
21年会员
UID 41110
性别 男
来自 广东深圳
状态 离线
老是GCC、BCC的命令行式接口,也太烦人吧,希望DJGPP能有较好的IDE推出。

其实到目前为至,Borland C++ 3.1是DOS下最好的C++语言编译器,所以我选择了BC31作为DOS下程序开发工具!我将BC31不常用的部分删除,尺寸删减到4M左右,装在16M的电子盘(或CF卡)上后,还有12M的空间可装载用户程序。
6 发表于 2007-06-21 10:52 ·  中国 广东 东莞 电信
初级用户
积分 47
发帖 10
注册 2005-09-26 22:46
20年会员
UID 42859
性别 男
状态 离线
最近正在学C DOS32编程,在用DJGPP,请多多指教...
7 发表于 2007-09-17 03:21 ·  中国 广东 广州 电信
初级用户
★★
积分 138
发帖 54
注册 2006-10-07 12:56
19年会员
UID 64815
状态 离线
我在98下编程,用批处理文件编译,全部完成后,在纯dos下运行.
poseidon99@163.com
8 发表于 2007-09-17 09:38 ·  中国 广东 深圳 宝安区 电信
初级用户
★★
积分 138
发帖 67
注册 2007-07-04 10:11
19年会员
UID 93093
性别 女
来自 云南
状态 离线
在DOS下编程的人,本来就少,在DOS下使用DJGPP编程的人数简值可以勿略不计!
9 发表于 2007-09-19 19:29 ·  中国 湖北 武汉 教育网
初级用户
积分 49
发帖 16
注册 2007-01-17 10:49
19年会员
UID 76798
性别 男
状态 离线
楼上的ID拼错了吧。
我这边有几个。
http://www.ds0101.net/
论坛跳转: