Board logo

标题: 关于DJGPP的疑惑 [打印本页]

作者: findfullmoon     时间: 2006-6-18 23:20    标题: 关于DJGPP的疑惑
首先可以确定DJGPP的编译器就是GCC在DOS下的实现(应该不是WIN32下的实现吧)
也就是不知道DJGPP是不是32位的编译器
"DPMI是一种DOS扩展规范,DPMI可在任何支持80286保护模式执行的CPU上得以实现。但是,DPMI的充分利用要求具有80386或80486。"
网上很多人说的是 DIGPP是什么WIN32API保护模式之类,不知道对不对的.
问题一:DJGPP是在DPMI这种扩展规范下的32保护模式的程序呢还是WIN32保护模式下的程序

同样是在DOS下,用以前的16位编译器编译的库,是否还能在DJGPP下使用.

之前看过很多GCC在WIN32的实现产品,像MINGW之类,他们是不支持TC的图形库的(应该说是不支持非标准库的)
TC的图形库应该是用TCC编译后的东西吧. TCC是16位的,那么TC的图形库也应该是16位的咯.
原本以为DJGPP支持了一些其它编译不支持的非标准库 比如CONIO.H 好像里边 CLSSCR() 就是NOT ANSI NOT POISX的.
但好像它也是不支持TC的图形库的.
理想的情况 应该是 用DJGPP 编译一下 TC的GRAPHICS库 就好了(即使可以也不知道可不可行)...可惜这是不可能的..

问题二:那有没有可能在DJGPP下使用TC的图形库.这点对我很重要,可以推荐老师用这个教.RHIDE功能强
,GCC的编译器闻名天下.

问题三:RHIDE应该也是用DJGPP编译出来的吧,它图形风格和TC的图形风格很像的说.它用图形库是什么?

作者: 070     时间: 2006-6-18 23:56
坐djgpp的沙发
附问,djgpp的中文开发文档可以从哪儿得到,wengier原来不是说有组织人开发么
http://lemonhall.html.533.net/index.html 不能访问了
网站为什么关闭了,没有空间,可以使用googlepages阿

作者: findfullmoon     时间: 2006-6-19 00:03    标题: 再附一问吧
问题四:DPMI扩展模式下,与普通的DOS模式下 除了内存的使用量之外,还有什么不同吗?
如果只是内存和4G线性地址什么的.
那么之前在DOS下用TC之类工具写的程序代码 应该也是一样用吧.

作者: Wengier     时间: 2006-6-19 00:24
DJGPP的中文开发文档当时是分配由lemonhall负责主要维护的,至于原网页不能访问的具体原因,恐怕需要问lemonhall本人。

作者: findfullmoon     时间: 2006-6-19 07:38    标题: 555555555555.没人回答
能...不能......稍微答下我的问题呢.
Wengier 大人.

作者: Wengier     时间: 2006-6-19 09:47
呵,DJGPP当然是在DPMI这种扩展规范下的32位保护模式的DOS程序了,而不是Win32程序,否则是不能直接在纯DOS下运行的。DJGPP作为GCC的DOS port,已自带相当多的库,所以只要你以前的C程序符合GCC的标准的话,那么用DJGPP编译起来是没有问题的,编译出来的程序即为像32位保护模式的DOS程序,包括RHIDE也是这样的程序。

作者: findfullmoon     时间: 2006-6-19 15:54    标题: 是否可以这样认为
是否可以这样认为 DJGPP能在WINDOWS NT系统(或基于NT技术的X2K/XP/2K3)下运行 不是因为DJGPP适应了WIN32环境,而是WINDOWS 2000以后的系统提供了DOS 模拟器 用于模拟天类似于DOS的环境,而DJGPP在这个模拟环境中使用了在DOS下同样的保护模式技术呢?

还有一个问题请Wengier 大人帮忙解答一下:
还是关于TC的图形库的问题.
TC的图形库是用TCC编译出来的,是不是DJGPP一定就不能用了呢?
是否有办法可以在DJGPP下使用TC的图形库?
如确实没有办法有什么替代方案可用,与TC图形库比较相近的呢?

作者: Wengier     时间: 2006-6-19 21:06
关于DJGPP和Win32环境的问题,上面的理解基本上是正确的。NT系列上的NTVDM就是DOS模拟器。

有关TC的图形库的问题,我倒是没试过,可以试试看。

作者: findfullmoon     时间: 2006-6-21 08:21    标题: 头文件与库文件名不是对应的,我怎么加呢
以前也是这个问题 我不明白...
include文件夹与lib文件夹下的文件数量还有文件名都不是对应的,不知道要怎么办呢...