0

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

4

2 回答 2

1

可悲的是,您不太可能在这里找到任何帮助。我建议向海港项目本身寻求帮助。他们可以在 github上找到他们的开发人员列表(带有电子邮件地址!)

于 2013-04-29T07:15:14.420 回答
0

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

要在纯 DOS 下运行,我建议您尝试 OPENWATCOM

这是来自 Pritpal Bedi(开发人员之一)的消息副本:

我可以用 OpenWatcom DOS 编译 Harbor。机器:Windows 7 32 位

脚步:

  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:\Harbour\bin\dos\watcom;%PATH%
  5. 保持所有其他 SET 完好无损。
  6. CD 到 C:\Harbour
  7. 执行 C:\Watcom\m.bat
  8. 执行 DOS-MAKE [不要使用“安装”选项,它会污染你现有的环境]
  9. Harbor 二进制文件将存放在 C:\Harbour\bin\dos\watcom

注意 [而且很奇怪] 步骤 7 和 8 必须重复几次,因为您启动它的控制台窗口会消失,但不要担心,这似乎是内存问题。

  1. CD到港口\测试
  2. 问题:hbmk2 hello -workdir= -run 看起来很长的命令行无法通过,因此我们必须缩短路径并因此缩短命令行长度。
  3. 高兴,因为您将在当前控制台中看到“Hello World”。

普里帕尔贝迪

于 2013-08-15T22:24:55.457 回答