linux下编写c include的那些头文件在什么地方
本文目录导航:
linux下编写c++,include的那些头文件在什么地方
C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径。
1、#include <stdio.h>,直接到系统指定目录去查找头文件。
系统默认路径为:/usr/include,/usr/local/include,/usr/lib/gcc-lib/i386-Linux/2.95.2/include(gcc库文件的路径,各个系统不一致)
2、#include stidio.h,会先到当前目录查找头文件,如果没找到在到系统指定目录查找。
3、gcc编译时查找头文件,按照以下路径顺序查找:
gcc编译时,可以设置-I选项以指定头文件的搜索路径,如果指定多个路径,则按照顺序依次查找。比如,gcc -I /usr/local/include/node a.c
gcc会查找环境变量C_INCLUDE_PATH,CPLUS_INCLUDE_PATH中指定的路径。
扩展资料:
应用程序代码编译过程:
编译器根据头文件提供的库函数接口形式,来编译代码,然后生成目标文件;然后,再使用链接器将这个目标文件与系统库链接;最终生成应用程序。
代码包含了自己写的内容,还有系统提供好的现成的库函数,整个结合起来才形成一个完整的程序。
库函数的头文件,在编译的时候被使用,而库函数的代码段(库文件),在链接的时候被使用。
应用程序代码在使用一个系统调用的时候,例如printf()函数,需要指定包含的头文件stdio.h;另外,在链接的时候对应的链接libc.a(笔者电脑文件所在目录:/usr/lib/i386-linux-gnu/libc.a)。
总结一下,编写应用程序,需要使用linux系统提供的库函数。
具体实现起来,需要头文件和库文件。
头文件是需要我们编写应用程序的时候,在源文件开头添加的;而库文件则需要配置编译环境进行指定搜索目录。
#include“头文件“的相对路径是相对谁的路径????
vc中使用#include命令包含头文件所搜寻的路径,vc中的三种路径:
1、系统路径
系统路径在vc中是Tools->Options->Directories中Includefiles指定的路径。
打开此对话框会发现默认有这几条路径:
C:\ProgramFiles\MicrosoftVisualStudio\VC98\INCLUDE
C:\ProgramFiles\MicrosoftVisualStudio\VC98\MFC\INCLUDE
C:\ProgramFiles\MicrosoftVisualStudio\VC98\ATL\INCLUDE
2、当前路径
当前路径是指vc工程中工程文件所在的路径,即文件所在路径。
3、附加路径
附加路径是指在Project->Settings->C/C++->Preprocessor->Additionalincludedirectories中指定的路径。
此路径默认为空,我们可以在此处填写需要路径,比如:在此处填入C:\123\,(不要引号),那么附加路径就会变成C:\123\。
上面的1,3路径,我们均可以自己编辑。
在编辑过程中,可以使用绝对路径,也可以使用相对路径。
比如,在添加系统路径时,可以这样填写:
.\SRC\这样写表示,当前目录中的SRC文件夹;
..\SRC\这样写表示,当前目录的上一层目录中SRC文件夹;
...\SRC\这样写表示,当前目录下..\SRC\\路径,当然这种写法已经和第一种重叠了。
这种相对路径的写法,vc会自动帮我们转化为绝对路径。
在添加附加路径时,其相对路径的写法和系统路径是一致的。
在vc中使用#include命令,有三种形式:
vc执行这条指令时,它会在系统目录中去查找file.h文件。
在此条码命令中,vc不会去当前路径和附加路径中查找文件。
2#includefile.h
vc执行这条指令时,它首先会搜索附加路径,如果没有则会搜索系统路径,如果还没有则会去搜索当前路径。
3、#includedirectory\file.h
vc执行这条指令时,它会去指定的路径去查找文件,如果没找到,它不会继续查找。
#include”xxx.h”
把include文件夹(里面是某个库的头文件)拷到自己的项目中,添加头文件时需要使用#include”include\xxx.h”方式,如果打算使用#include”xxx.h”方式。
解决方法:
项目属性->C++>常规->附加包含目录:$(ProjectDir)\include
添加类库,在项目属性->链接器>常规->附加库目录:$(ProjectDir)\lib
其中:\$(ProjectDir)代表你的项目所在目录:x:\?\projectname
所有宏定义可以在“附加包含目录”或者“附加库目录”编辑界面,点击宏“(M)>>”查看
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。
1、#include<文件名>;
2、#include文件名
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。
有两种方式可以指定插入头文件:
如下例所示:
只要使用#include命令,这些定义就可被任何源文件使用。
C++头文件目录在那个文件夹?
C++标准库头文件,不同的编译器默认路径不相同。
Vc6.0一般在安装目录下的\VC98\INCLUDE目录,比如C:\Program Files (x86)\Microsoft Visual Studio\VC98\INCLUDE。
Vs一般在位于$VSPATH\VC\include路径下面。
gcc一般默认在 /usr/include目录下
linux下编写c include的那些头文件在什么地方 (linux消息队列)
中 先include什么 头文件有没有include规则 再include c (中先代之乱结局)
#include 有啥分别 和 C < #include 包含头文件 > (#include)
C #include 和 包含头文件 有啥分别 < > #include (cincle)
在头文件之前包含其他头文件与在源文件前包含头文件有什么区别 (文件的头文件)
include可以包含头文件吗? # (include是什么意思)