5

只是为了测试编译一个简单的程序,其中包含该头文件吗?

为了更好地理解编译过程,我正在编写自己的“配置”,它测试一些头文件和库文件的存在。

4

3 回答 3

6

是的,使用编译器来编译您的简单测试程序。这是查看编译器是否可以找到标头的最好和最简单的方法。如果您对#include 搜索路径进行硬编码,您将始终需要修改和适应不同的编译器。

于 2010-03-01T02:48:09.717 回答
4

GNU Autoconf套件通过运行测试编译来检查头文件。只是测试文件“filename.h”的存在是相当简单的:

#include <filename.h>
int main(void){return 0;}

您可能更喜欢引号而不是尖括号。

于 2010-03-01T03:31:19.647 回答
-2

使用下面的程序,可以发现头文件的存在。

#include<stdio.h>
main()
{
        FILE * file;
        if ((file = fopen("/usr/include/stdio.h", "r"))!=NULL)
        {
                fclose(file);
                printf("true");
        }
        perror("err");

}
于 2010-03-02T09:28:58.760 回答