djgpp编译的ports exe不能运行纯dos

时间:2013-02-19 10:35:19

标签: dos exe clipper djgpp

我使用haarbour编译器编译了一个限幅器程序,并使用djgpp编译生成的c文件以生成最终的exe。这个exe在Windows 98的控制台窗口中运行良好。 但是,当我退出到msdos提示符或尝试在纯dos中运行时,它不会给出任何错误。但没有走得更远。但是,num lock和cap lock会响应。当我按下ctrl + al + del时,它会给我消息hdpmi被用户终止。我尝试过cwsdpmi而不是Hdpmi32,但问题仍然存在。 有一个exe HBRUN.exe,它作为生成的.hrb文件的解释器,而不是独立的exe。当我在pure do中运行HBRUn时,它的行为方式相同。但是当我运行另一个没有dbf文件的目录时,它给了我错误的dbf文件找不到!这也适用于控制台窗口,但编译为纯DOS。 我认为使用harbour和djgpp产生的所有exes都存在一些问题,如果它们很大的话。 一个简单的5-6行程序的.hrb文件在hbrun的纯dos中正确运行(hbrun的大小约为1700 K,其中我的exe文件大小为950 K 任何人都可以遮挡一些光吗?

2 个答案:

答案 0 :(得分:1)

可悲的是,你不太可能在这里找到任何帮助。我建议接近港口项目本身寻求帮助。可以使用on github

找到their list of developers (with email addresses!)

答案 1 :(得分:0)

海港很强大。 http://harbour.github.io/

要在纯DOS中运行,我建议你尝试OPENWATCOM

以下是Pritpal Bedi(其中一位开发人员)的消息副本:

我可以使用OpenWatcom DOS编译Harbor。 机器:WIndows 7 32 Bits

步骤进行:

  1. 已下载:http://ftp.heanet.ie/pub/openwatcom/open-watcom-c-dos-1.9.exe
  2. 安装在C:\ WATCOM中。安装时请遵循所有默认选项,除了更改AUTOEXEC.bat和CONFIG.sys。 WATCOM将使用.DOS保存这两个文件作为扩展名。
  3. 复制C:\ Watcom \ autoexec.dos C:\ Watcom \ m.bat
  4. 将PATH语句重新定义为:SET PATH = C:\ WATCOM \ BINW; C:\ Harbor \ bin \ dos \ watcom;%PATH%
  5. 保持所有其他SET完整。
  6. CD to C:\ Harbor
  7. 执行C:\ Watcom \ m.bat
  8. 执行DOS-MAKE [不使用“安装”选项,它会污染您现有的环境]
  9. Harbour二进制文件将存放在C:\ Harbor \ bin \ dos \ watcom
  10. 注意[并且很奇怪]步骤7和8必须重复几次          作为控制台窗口从你启动它将消失,但不要担心,          这似乎与记忆有关。

    1. CD to harbor \ tests
    2. 问题:hbmk2 hello -workdir = -run  看起来很长的命令行没有通过,所以我们必须缩短路径,从而缩短命令行长度。
    3. 要开心,因为您会在当前的控制台中看到“Hello World”。
    4. Pritpal Bedi