gcc包含头文件的一些总结

 要包含其他头文件,我们要使用#include指令。我们知道,包含头文件有两种写法,分别是:
#include <stdio.h>
#include "stdio.h"
    <>和""分别表示搜索位置的方式。VC中,<>表示先从系统目录下搜索,如果没有搜索到,再从当前目录搜索。""表示先从当前目录搜索,如果没有搜索到,再到系统目录搜索。两者都没有搜索到,回到VS指定的头文件包含目录搜索。
    然而这个规则在Linux中的GCC编译器里是不太一样的。这个我们需要区分一下。
    在GCC编译器规则中,<>只会搜索系统目录,在Linux中,GCC系统目录是/usr/local/include/和/usr/include/,如果没有搜索到,那么就提示错误文件找不到。而""包含的头文件,如果没有在当前目录搜索到,那么就回到GCC系统目录/usr/local/include/和/usr/include/去寻找,如果找不到,那么就会提示文件找不到错误。如果编译指令指定了搜索头文件的路径,gcc还会到这个指定的目录中寻找,如果没有找到,才会提示文件找不到的错误。这是我实际测试的结果,测试方法就是:将自定义的头文件放在/usr/include/和指定的目录中,然后在代码中用""包含头文件,当然在当前目录下不提供。而头文件定义了一个函数名和函数定义,两个头文件的函数输出内容不一样,然后看看执行函数输出的内容是什么,就可以判断包含的是哪个头文件。
    VC编译器和GCC编译器有这样的细微的差别,需要注意。在VS中,我们可以这样设置头文件包含(搜索)目录:

Linux编程中gcc包含头文件的一些总结

    那么GCC如何指定搜索头文件的目录呢?
    我们用GCC编译程序的时候,使用如下命令编译:
gcc hello.c
    如果hello.c包含了一个目录下的头文件,我们可以在编译时,给gcc命令指定-I命令选项,然后紧接着指定头文件所在的目录,其他不变。这样就直接在指定的目录中去寻找需要的头文件。

 

文章标题:Linux编程:3 gcc包含头文件的一些总结
文章地址:http://www.cjjjs.com/article/2017110232024634
转载到个人博客,请在文末带上右侧内容(含超链接):本文转载自:Linux编程:3 gcc包含头文件的一些总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值