中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-31 19:52
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » [转帖] DJGPP--32位的C语言编程环境 精华I 查看 19,228 回复 52
46 发表于 2003-08-02 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
积分 639
发帖 183
注册 2003-06-14 00:00
23年会员
UID 5148
性别 女
状态 离线
忘了一点,你在哪里看到v5的,好象是r5吧???
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
47 发表于 2003-08-02 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
积分 639
发帖 183
注册 2003-06-14 00:00
23年会员
UID 5148
性别 女
状态 离线
而且,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需要合作么?
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
48 发表于 2003-08-02 00:00 ·  新加坡 星和视界(StarHub)宽带
初级用户
积分 169
发帖 29
注册 2003-07-09 00:00
23年会员
UID 6654
性别 男
状态 离线
嗯,是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 发表于 2003-08-02 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
积分 639
发帖 183
注册 2003-06-14 00:00
23年会员
UID 5148
性别 女
状态 离线
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下的实时系统的实现需要的是其他的技术,那需要的
是更深厚的底子.如工业控制软件.

如果是做这类的东西,参照老的计算机教材反而来的更好.
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
50 发表于 2003-08-02 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
积分 639
发帖 183
注册 2003-06-14 00:00
23年会员
UID 5148
性别 女
状态 离线
最后,保护模式,我们天天把他挂在嘴边.
有谁能真正完整地解释一下,什么是保护
模式? 保护模式发展的历史么?
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
51 发表于 2003-08-02 00:00 ·  新加坡 星和视界(StarHub)宽带
初级用户
积分 169
发帖 29
注册 2003-07-09 00:00
23年会员
UID 6654
性别 男
状态 离线
保护模式,呵呵,简单的说:不是保护你的程序不被破坏,而是保护系统不被你的程序破坏。真正的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 发表于 2003-09-20 00:00 ·  中国 陕西 西安 电信
高级用户
★★
OS/2女孩
积分 639
发帖 183
注册 2003-06-14 00:00
23年会员
UID 5148
性别 女
状态 离线
本贴被整理到精华区
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
53 发表于 2010-01-08 16:05 ·  中国 北京 联通
初级用户
积分 52
发帖 23
注册 2009-12-25 15:51
16年会员
UID 157317
性别 男
状态 离线
DJGPP是个什么概念? 是个开发环境还是IDE ?,,,,,,,
论坛跳转: