关于Windows API的问题

时间:2010-12-25 08:42:26

标签: windows

我有一个在Windows 7的DOS Box上运行的代码...但是我的问题是我的代码是否使用了Windoows API?以下是我正在使用的头文件...

#include<iostream.h>
#include<conio.h>
#include<dos.h>
#include<graphics.h>
#include<process.h>

3 个答案:

答案 0 :(得分:3)

你为什么不看看那段代码?如果使用任何特定于Windows的API,通过查看包含的头文件来查找它们并不会太难。

DOSBox可以运行Windows 3.1及相关程序,但如果您的程序在Windows 3.1之外运行,那么您可以非常确定没有使用Windows API。

答案 1 :(得分:2)

这些标头不是Windows API的一部分,事实上,使用Borland Turbo C / C ++之外的编译器,您的代码根本不可能编译。

看起来您使用的是大多数专有的Borland库。例如,graphics.h允许您在基于文本的MS-DOS环境中绘制图形。在Windows下根本不支持它。

即使像其他编译器中可能找到的conio.h这样的头文件也可能与您在代码中使用的头文件不兼容。 conio.h声明的库函数在不同编译器之间有所不同。

作为一般规则,使用Windows API的每个程序都将包含windows.h,以及一些其他子标头文件,具体取决于所需的特定功能。

答案 2 :(得分:0)

到目前为止,您收到的大部分信息都过于笼统。包含的标题不会显示所有内容。

  

1)使用的编译器将包括标题幕后

     

2)图书馆链接仅与您指定的标题松散耦合

示例:

  • 如果你使用MinGW并且没有明确地包含头文件,那么它将在幕后链接到stdlib.h,这将链接到Windows API而你却不知道它。

  • 如果您随后调用malloc(),它将被mingw-Headers转换为HeapAlloc(Windows API),并且显然链接到Windows API。