导航:首页 > 文件教程 > linux创建头文件

linux创建头文件

发布时间:2023-08-26 10:07:37

linux下,C语言头文件在哪

一、 C标准库头文件,以及Linux的标准库文件的对应头文件,默认放在/usr/include下。 如图:

标识出回了最常用的几答个头文件。

二、 自定义头文件,或者集成头文件,需要在编译的时候指定。可以在命令行中指定,也可以在makefile中指定。

指定自定义头文件路径方式为:

-IPATH1 -IPATH2...

如当前目录下的inc文件夹,指定为头文件, 那么在编译a.c时,可以命令写作:

gcc a.c -I./inc -o a.out

❷ 如何在Linux上安装内核头文件

当在编译一个设备驱动模块时,需要在系统中安装内核头文件。内核头文件同样在编译与内核直接链接的用户空间程序时需要。当在这些情况下安装内核头文件时,必须确保内核头文件精确地与当前内核版本匹配(比如:3.13.0-24-generic)。
如果内核是发行版自带的内核版本,或者使用默认的包管理器的基础仓库升级的(比如:apt-ger、aptitude或者yum),也可以使用包管理器来安装内核头文件。
另一方面,如果下载的是kernel源码并且手动编译的,可以使用make命令来安装匹配的内核头文件。
使用apt-get命令来安装匹配的内核头文件:
1、首先,使用dpkg-query命令检查是否有可用的内核头文件。
$ dpkg-query -s linux-headers-$(uname -r)
dpkg-query: package 'linux-headers-3.11.0-26-generic' is not installed and no information is available

2、接着使用下面的命令安装匹配的内核头文件。
$ sudo apt-get install linux-headers-$(uname -r)

3、验证头文件是否成功安装。
$ dpkg-query -s linux-headers-$(uname -r)
Package: linux-headers-3.11.0-26-genericStatus: install ok installed

4、Debian、Ubuntu、Linux Mint默认头文件在/usr/src下。

使用yum命令来安装匹配的内核头文件:
1、首先,用下面的命令检查系统是否已经安装了头文件。如果下面的命令没有任何输出,这就意味着还没有头文件。
$ rpm -qa | grep kernel-headers-$(uname -r)

2、接着用yum命令安装头文件。这个命令会自动找出合适的头文件并安装。
$ sudo yum install kernel-headers

3、验证包安装的状态。
$ rpm -qa | grep kernel-headers-$(uname -r)
kernel-headers-3.10.0-123.9.3.el7.x86_64

4、Fedora、CentOS 或者 RHEL上默认内核头文件的位置是/usr/include/linux。

❸ 怎么在Linux下文件头部添加内容

文件头部添加一行字符:

用sed的i命令在第一行前面插入即可,加上 -i 选项直接操作文件。

sed -i '1iInsert this line' file.txt

文件尾部添加一行字符

echo "Append this line" >> file.txt

或者复杂一点的,用awk,

awk '{print}END{print("Append this line")}' file.txt >output.txt

❹ linux用gcc编译

运行结果我不给了,自己看:
直接编译:
gcc main.c compute.c input.c -o power
运行程序
./power
makefile 最简单,直观的的编写方法:
power:main.o compute.o input.o
cc main.o compute.o input.o -o power
main.o:main.c main.h compute.h input.h
cc -c main.c

compute.o:compute.c compute.h
cc -c compute.c
input.o:input.c input.h
cc -c input.c
.PHONY : clean
clean :
rm -f *.o power

保存后成makefile或Makefile推荐使用后者:
make
想重新编译前运行:
make clean
make
运行程序:
./power
特别说明:cc,rm命令行前有一个tab符,别搞错了。cc 在linux上是指向gcc的软符号链接,为了兼容其他系统,我们写的cc。
makefile有更简写但不简单的写法,不给出来。你提问这个说明你不会编写makefile,给出的是最基本用法。有兴趣自己看,一天能学完。

❺ 如何在Linux上安装内核头文件

什么系统?CentOS、Fedora、RHEL等直接用yum
install
kernel-headers。
Ubuntu尝试用apt-get
install。
不过,建议安装前,先查看一下当前使用的内核版本。
linux下可能会有2个内核共存。例如2.6.18和2.6.33共存。每次启动时,都会选定一个内核版本。那么。安装kernel-headers时,选择的版本应当与当前使用的内核版本一致。
就是2.6.18的内核配2.6.18的kenrl-headers。
因为以前曾经有人遇到过不匹配的状况,导致某些程序功能无法安装使用。
例如2.6.33的kernel已经发布安装但2.6.33的kernel-headers还没有发布。
结果以2.6.33内核登录系统后,安装kernel-headers时就出错了。
可以使用uname
-r来查看当前内核版本。
使用yum
list
|
grep
kernel-headers来查看当前yum仓库中的kernel-headers的版本是否和内核版本一致。
如果一致,直接yum
install
kernel-headers
如果不同,重启系统,换其他内核版本登录后,再yum
install。
Ubuntu参考执行

❻ 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中指定的路径。

(6)linux创建头文件扩展阅读:

应用程序代码编译过程:

编译器根据头文件提供的库函数接口形式,来编译代码,然后生成目标文件;然后,再使用链接器将这个目标文件与系统库链接;最终生成应用程序。代码包含了自己写的内容,还有系统提供好的现成的库函数,整个结合起来才形成一个完整的程序。

库函数的头文件,在编译的时候被使用,而库函数的代码段(库文件),在链接的时候被使用。

example:

应用程序代码在使用一个系统调用的时候,例如printf()函数,需要指定包含的头文件stdio.h;另外,在链接的时候对应的链接libc.a(笔者电脑文件所在目录:/usr/lib/i386-linux-gnu/libc.a)。

总结一下,编写应用程序,需要使用linux系统提供的库函数。具体实现起来,需要头文件和库文件。头文件是需要我们编写应用程序的时候,在源文件开头添加的;而库文件则需要配置编译环境进行指定搜索目录。

❼ 关于在linux下用gcc编译头文件的问题。

我用一个例子来告诉你怎么样在 C++ 里使用C的头文件/函数。

比方说我有一个C的头文件叫 c.h, C的源码文件叫 c.c,内容分别是

c.h:
#ifndef _ASDFD_INCLUDED_
#define _ASDFD_INCLUDED_

#include <stdio.h>

extern int test(int a);

#endif

c.c:
#include "c.h"

int test(int a)
{
printf("A = %d\n", a);
return a*a;
}

现在我想在c++中使用c.c中提供的函数test(),我的c++文件名字叫 a.cpp,那么里面跟C有关的部分就要用 extern "C" {} 大括号括起来,看看我的
a.cpp:
#include <iostream>
using namespace std;

extern "C"
{
#include "c.h"
}

int main()
{
int b = 12;

b = test(b);

cout<<"b = "<<b<<endl;
return 0;
}

看到了吧,#include "c.h" 被 extern "C" {}括起来了。

然后是如何编译,先把C文件编出目标文件(.o)来
gcc -c c.c
你会看到生成了 c.o,其实,有目标文件就够了,如果你一定要做成(静态/动态)库文件,也是可以的,不过我这里就不深入了,做成库和直接用目标文件对解决你的问题没有任何区别。

然后再编译C++文件,也就是我的 a.cpp
g++ -o hello a.cpp c.o
看到了吧,我在编译 a.cpp 的时候把C生成的 c.o也加上了。 然后生成 可执行的 hello, 运行
./hello
就可以看到
A = 12
b = 144

关于创建静态库,假定你有3个C文件, a.c, b.c, c.c 提供了你C++要用到的接口,那么可以把这三个C文件编译出来的目标文件放到一个库文件里供C++使用,方法为

先编译出目标文件
gcc -c a.c b.c c.c

这时候你应该看到有 a.o b.o c.o了

然后创建库文件
ar cr libtest.a a.o b.o c.o
这三个目标文件就放入 libtest.a 这个静态库中了,然后编译C++程序 (你的C++程序应该已经按照我前面说的用 extern "C" 把C的接口都括起来了),假定你的 libtest.a 放在 /home/aaa/lib下

g++ -o my.exe my.cpp -L/home/aaa/lib -ltest

就会生成可执行文件 my.exe了。

❽ linux c用什么函数创建文件夹

Linux c语言可以使用系统提供的mkdir函数来创建文件夹。

1、函数原型

int mkdir(const char *path, mode_t mode);

2、参数说明:回

path是目录名
mode是目录权限

3、需要答头文件

#include<sys/stat.h>

4、示例

js">//添加mkdir函数声明头文件
#include<sys/stat.h>
#include<sys/types.h>
intmain()//主函数
{
//直接调用mkdir函数
//建立一个名为的文件夹
//权限为0777,即拥有者权限为读、写、执行
//拥有者所在组的权限为读、写、执行
//其它用户的权限为读、写、执行
mkdir("",0777);
return0;
}

说明:函数调用试图建立777权限的文件夹,但是在实际程序执行时,还需要考虑umask值,最终才会得到实际的权限。

5、执行效果如下图所示

说明:t.c是源码文件,有gcc进行编译,-o是gcc的参数,有于指明编译后输出的文件,t为源码经gcc编译后生成的可执行文件。./t是执行当前目录下的生成的可执行文件t。

❾ linux下编写c++,include的那些头文件在什么地方

C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径。自己指定的路径就不说了,这里说明一下系统自动搜索的路径。
【1】include头文件路径
除了默认的/usr/include,
/usr/local/include等include路径外,还可以通过设置环境变量来添加系统include的路径:
#
C
export
C_INCLUDE_PATH=XXXX:$C_INCLUDE_PATH
#
CPP
export
CPLUS_INCLUDE_PATH=XXX:$CPLUS_INCLUDE_PATH
以上修改可以直接命令行输入(一次性),可以在/etc/profile中完成(对所有用户生效),也可以在用户home目录下的.bashrc或.bash_profile中添加(针对某个用户生效),修改完后重新登录即生效。
【2】link链接库文件路径
链接库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的(也可以在编译命令中通过
-l
-L
来指定,这里讲的是使用系统默认搜索路径)。
一般
Linux
系统把
/lib
/usr/lib
/usr/local/lib
作为默认的库搜索路径,所以使用这几个目录中的链接库文件可直接被搜索到(不需要专门指定链接库路径)。对于默认搜索路径之外的库,则需要将其所在路径添加到gcc/g++的搜索路径之中。
链接库文件的搜索路径指定有两种方式:1)修改/etc/so.ld.conf
2)修改环境变量,在其中添加自己的路径
1)在环境变量中添加
动态链接库搜索路径:
export
LD_LIBRARY_PATH=XXX:$LD_LIBRARY_PATH
静态链接库搜索路径:
export
LIBRARY_PATH=XXX:$LIBRARY_PATH
以上修改可以直接命令行输入(一次性),可以在/etc/profile中完成(对所有用户生效),也可以在用户home目录下的.bashrc或.bash_profile中添加(针对某个用户生效),修改完后重新登录即生效。
2)在/etc/ld.so.conf
中添加指定的链接库搜索路径(需要root权限),然后运行
/sbin/ldconfig,以达到刷新
/etc/ld.so.cache的效果。
以上两种方式均可以达到指定链接库搜索路径的效果。

阅读全文

与linux创建头文件相关的资料

热点内容
网络标号怎么用 浏览:352
会议上文件读好后要说什么 浏览:783
安装压缩文件office 浏览:417
2014年网络营销大事件 浏览:186
首页全屏安装代码 浏览:39
党规党纪指的哪些文件 浏览:995
windows编程图形界面用什么设置 浏览:266
deb文件安装路径 浏览:540
飞鸽传送提示文件名太长 浏览:486
日服文件名 浏览:648
宏程序和编程哪个好学 浏览:965
怎么打开微信中的文件怎么打开方式打开方式 浏览:98
wordpressgbk版本 浏览:328
怎么看网络的带宽多少兆 浏览:930
word文档粘贴出现文件包 浏览:673
u盘文件传输 浏览:593
飞行棋教程视频 浏览:629
程序员下载网站 浏览:303
苹果5为什么不显示4g网络 浏览:741
怎么做好互联网公司的微信公众号 浏览:135

友情链接