DOS.h中的C / C ++ REGS联合不再可用。任何替代品?

时间:2012-04-23 17:27:39

标签: c++

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

互联网上的一些帖子说它对于Borland或Turbo编译器来说是独一无二的,但是这段代码是为了在许多不同的编译器下编写的。

我应该做些什么?是一个可能有效的旧DOS.h文件吗?

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

2 个答案:

答案 0 :(得分:1)

创建REGS联盟是您遇到的最少问题。应用程序无法随时调用中断。如果他们尝试,我将被系统阻止。

更好的方法是确定您要完成的任务,然后寻找使用Windows API实现该任务的方法。

修改

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

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

答案 1 :(得分:0)

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

然而,在不知道REGS正在完成什么的情况下,无法猜出替换将会/将会是什么。