glibc的头文件 linux_Glibc头文件和宏定义

本文介绍了在Linux系统中,glibc头文件的查找路径、包含头文件的作用,以及如何防止头文件被重复包含。讨论了C++的(wrapper #ifndef)和两种防止重复包含的方法(#import和#pragma once),并提到了glibc中宏定义函数的使用和避免技巧。
摘要由CSDN通过智能技术生成

头文件没啥好说的,无非就是" "和< >的区别,这估计只要是学过C/C++的人都明白。现在的编译器对头文件的包含顺序没有要求,但老的C实现则不一样。当然,我们现在无需关心头文件顺序了。

我们为啥要包含头文件呢?头文件里面有定义嘛,使用任何函数之前都必须定义该函数。所以我们并不强求包含头文件,只要你自己在库函数使用之前定义该函数,有些编译器还会自动的添加标准库定义。但是呐,我们还是推荐将头文件添加上去,头文件里面有时候还会包含类型定义、常量定义、宏定义。

在linux环境下,gcc会在以下路径中查找头文件:/usr/local/include;libdir/gcc/target/version/include;/usr/target/include;/usr/include。C++程序还会查找libdir/../include/c++/version。target是一个标准名指的是你的GCC编译的目录。version则是版本号了。

Gcc可以使用-Idir参数指定头文件目录。-nostdinc选项则会阻止GCC搜寻某个头文件目录。-nostdinc在编译系统内核的时候会很有用,因为系统内核不使用标准C库,内核使用的是源码里面自带的库文件。注意:-nostdinc对-Idir无效。

我们可以在GCC -I选项参数的任意位置放置-I-标志,在-I-标志之前的目录我们只查找由引号标记的头文件,-I-标记之后的目录则查找所有头文件。你要是想指定查找由引号标记的头文件目录,我们不推荐使用-I-标记,而是使用用-iquote选项。

如果很不幸,你有一个目录叫"-"。这种情况下你得使用-I./- 和-I-区别开来。

为了防止头文件被包含多次&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值