gcc/g++如何选择头文件(欢迎大家来探讨)

zaiquansun 2004-05-12 01:51:43
在程序中包括头文件时,头文件分为c和c++两类,我有一些问题:
(1) 当用gcc或g++时,编译器自动到/usr/include下搜索相应的头文件,它是否到该目录下的子目录下搜索头文件呢?另外假如到子目录下搜索,遇到头文件重名的问题怎么办?
(2) 当用gcc编译c程序和用g++编译c++程序时,他们的搜索头文件的目录应该不是一样的吧,他们搜索到底有何区别,我所知道的在/usr/include下有两个c++头文件的子目录:
/usr/include/c++和/usr/include/g++-3,不知还有没有其他的,那么g++到底到那个下面搜索头文件,他们之间有什么区别。
(3) g++搜索的头文件的目录(例如:/usr/include/c++和/usr/include/g++-3),它里面是不是只包含有c++特有的头文件(函数)。
...全文
1032 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
CNXQS 2004-05-14
  • 打赏
  • 举报
回复
1.当然不会搜索子目录,有需要的就自己指定。
2.在g++里面默认的搜索路径就是、/usr/include/c++,
不信你可以写个/usr/include/c++里面没有包含的头文件的程序实验一下。
而gcc就要看你make的时候的makefile里的配置,也就是你gcc的时候-I的路径。
icedust(冰封尘想)的是对的。
3.c++的标准头文件都毫无疑问在/usr/include/c++里面,也有一些原来c的头文件。

我也是初学c++,并且对编程很有兴趣,有空长联系:)!
dxzworld 2004-05-13
  • 打赏
  • 举报
回复
如果自己编译gcc,与你的编译设置有关,gcc -v 可察看,也可以改spec文件,改变默认设置
lijiangshui 2004-05-12
  • 打赏
  • 举报
回复
自己的头文件用" "引起来,不要用< >,然后在makefile里为编译器加-I选项
tianxiangyuan 2004-05-12
  • 打赏
  • 举报
回复
1、不搜索子目录,如果需要需指定子目录,如#include <linux/fs.h>
2、/usr/include/c++是默认的搜索路径,g++-3不是,不过可以使用-I选项添加其他的头文件目录
3、c++目录下的文件是C++的标准头文件,其实大部分都不是.h文件
icedust 2004-05-12
  • 打赏
  • 举报
回复
1. 不到子目录找
2. 具体看你make的时候的makefile里面配置,也就是你gcc的时候-I的路径
3. 没看明白什么意思

23,124

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧