3

我不得不使用大约二十年前写的一个非常古老的图书馆。我几乎可以完全编译它,除了一个使用 REGS 联合的部分。从我所做的谷歌搜索中,REGS 是 DOS.h 文件中中断处理的一部分。好吧,看看现代版本的 DOS.h,看不到任何 REGS 定义。

Internet 上的一些帖子说它是 Borland 或 Turbo 编译器所独有的,但这段代码是为在许多不同的编译器下工作而编写的。

有什么想法我应该做什么?一个旧的 DOS.h 文件是否可以工作?

使用:Visual Studio 2010,从命令行编译。

4

2 回答 2

2

创建REGS工会是你的问题中最少的。在保护模式操作系统下,应用程序不能简单地随时调用中断。如果他们尝试,他们将被系统阻止。

更好的方法是寻找使用 Windows API 来完成它的方法。

编辑

以上评论假设您正在进行现代 Windows 开发,我猜这是一个假设。除了你正在使用的工具,你真的没有说你正在开发的应用程序的类型(命令行、窗口、32 位、64 位等),除了没有说任何关于你试图完成的任务。

如果您正在为 16 位 DOS 开发,那么您仍然可以进行中断。

于 2012-04-23T17:31:50.570 回答
2

几乎您唯一能做的就是弄清楚他们在使用REGS 做什么,并(尽可能接近)在更高级别上做同样的事情。在大多数情况下,REGS 用于调用 DOS 函数,其中大多数具有可以在 Windows 下作为普通函数调用的等效函数。其他人则使用 BIOS 功能,这些功能(再次)大多具有完成相同功能的功能。

然而,在不知道 REGS 正在完成什么的情况下,不可能猜测替代品将会/将会是什么。

于 2012-04-23T17:33:36.377 回答