中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-14 23:19
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行
DOS开发编程 & 发展交流 (开发室) » [转帖] DJGPP--32位的C语言编程环境
可打印版本  20,126 / 52
第46楼 lemonhall 发表于 2003-08-02 00:00
高级用户 发帖 183 积分 639
忘了一点,你在哪里看到v5的,好象是r5吧???
第47楼 lemonhall 发表于 2003-08-02 00:00
高级用户 发帖 183 积分 639
而且,CWSDPMI最新版本r5已经放弃DPMI 0.9的支持了(对其进行不完全兼容,据说
是对一个SWAP命令的不兼容)而支持最新的DPMI 1.0。它的版本号只是表示发布版本

其中对其主版本号的输出如下
CWSDPMI V0.90+ (r5) Copyright (C) 2000 CW Sandmann ABSOLUTELY NO WARRANTY
这很明确地说明了它的主版本号小于1(它的命名规则和日本人的惯用的规则更相象)

另外,强调声明一下。CWSDPMI的发展历史,它起初不是为DJGPP开发的,但是在R4版本后
的确是为了支持DJGPP而做了优化。当然,这个独立的开发小组还和著名的游戏机模拟器项目
MAME有共同开发,交换资料的活动。

过几天,我会把中文化的关于CWSDPMI的文档,贴出来的。

再问一次,DD需要合作么?
第48楼 ATLaS 发表于 2003-08-02 00:00
初级用户 发帖 29 积分 169
嗯,是release 5,不是v5。

其实dos下的程序我更关心的就是dos extender。dos4gw也不是没有发展了,但免费的就到此为止。djgpp缺省用cwsdpmi,但pmode/dj好像也有些自己的优势:更小,速度更快。只是还找不到完整的对比。
djgpp虽说也是32-bit的开发环境,但我看过它runtime library的源码,i/o部分还是用底层的bios中断做的,也就是说,程序仍然有mode switching。这对有实时性要求的程序来说是无法接受的。我很感兴趣的是:绕过bios直接写纯保护模式下的i/o到底有多难?希望能有人有兴趣探讨一下。
第49楼 lemonhall 发表于 2003-08-02 00:00
高级用户 发帖 183 积分 639
dos4gw绝对在版权上,不能称为免费. 它从来没有免费过.

其实讨论DOS4GW和CWSDPMI,这时对我们来说没有多少
意义.因为现成的,最好的实现还是MS提供的DPMI服务.
我相信,多数人连CWSDPMI的安装包都不下载.

绕过bios直接写纯保护模式下的i/o??????? 你在说什么?
绕过bios还有什么??对,还有直接的机器指令,但80386
处理器本身就是需要一个mode switching才能从real
mode 转到v86模式. 这是从CPU指令上直接决定的,
windows 3.x就是实现的典范.真不明白你想用80386
来作怎样的东西.想写一个实时操作系统???

dos extender??这些技术和实时性本身就是相矛盾的.
CWSDPMI不支持dos extender,说明文件里首先声明了
这一点.

DOS下的实时系统的实现需要的是其他的技术,那需要的
是更深厚的底子.如工业控制软件.

如果是做这类的东西,参照老的计算机教材反而来的更好.
第50楼 lemonhall 发表于 2003-08-02 00:00
高级用户 发帖 183 积分 639
最后,保护模式,我们天天把他挂在嘴边.
有谁能真正完整地解释一下,什么是保护
模式? 保护模式发展的历史么?
第51楼 ATLaS 发表于 2003-08-02 00:00
初级用户 发帖 29 积分 169
保护模式,呵呵,简单的说:不是保护你的程序不被破坏,而是保护系统不被你的程序破坏。真正的32-bit保护模式是在80386以后才实现的。

你没有明白我的意思。bios和dos代码都是real mode下的代码,而dos4gw,cwsdpmi或者其他各种dpmi server都是完全运行在protected mode下的,如果runtime library或者程序中调用了bios或dos中断,dpmi server会把程序从protected mode切换为real mode(好像也有是v86 mode?),但如果程序中没有调用任何real mode下的东西,那就是纯保护模式代码。
在新的操作系统中(比如window nt kernel和linux),系统加载后都会接管所有的bios中断,让系统真正运行在纯保护模式下。当然,我需要的没有那么复杂,只是部分,比如i/o部分有没有可能绕过bios和dos?唯一的困难在于这种实现可能严重依赖于硬件,而我们没有那么大的能力。但简单的像屏幕输出之类的功能,完全可以用直接写buffer的方式来实现,从而避免mode switching,当然可能有些功能难以完整。至于输入部分,我还没有什么概念。
第52楼 lemonhall 发表于 2003-09-20 00:00
高级用户 发帖 183 积分 639
本贴被整理到精华区
第53楼 cir2633 发表于 2010-01-08 16:05
初级用户 发帖 23 积分 52
DJGPP是个什么概念? 是个开发环境还是IDE ?,,,,,,,
上一页  1 2 3 4
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023