1

Mingw 默认没有 BIOS.h 文件。我正在使用 netbeans IDE 和第三方工具 mingw 进行系统编程。. ?

任何人都可以帮助我,我在哪里得到那个文件?

这是代码。

#include<stdio.h>
#include<BIOS.H>
#include<DOS.H>

char st[80] ={"Hello World$"};

void main()
{
    _DX = (unsigned int) st;
    _AH = 0x09;
    geninterrupt(0x21);
}
4

2 回答 2

9

无处,你没有。

这些头文件 (dos.hbios.h) 来自 16 位 DOS 编译器,例如 Turbo C 或 Open Watcom C。MinGW 是用于 Windows 的 32 位编译器。因此,即使您获得了这些头文件,它们也将毫无用处,因为:

  1. 它们与 gcc 不兼容
  2. 他们还需要对应的库,因为标头本身不包含诸如geninterrupt()
  3. DOS 中断服务 ( int 21h) 不适用于 Win32 程序

此外,gcc 不支持变量别名为 CPU 寄存器(例如_DX, _AH)。

您要么需要使用适当的 16 位 DOS 编译器,要么使用 gcc 和 Win32 API 提供的功能编写 Windows 程序。

于 2013-01-20T07:26:46.347 回答
2

你真的需要吗?它已经过时了一百次左右。但据我所知,一些较旧的 Turbo C 版本可能有它。您也可以尝试http://www.sandroid.org/TurboC/,但他们说该文件可能没有所有功能。

于 2013-01-20T07:15:46.757 回答