行者之石头的博客

从事嵌入式开发的学习笔记

关于Linux编译时的路径一些说明

关于Linux编译时的路径一些说明

如果源文件(.c)和头文件(.h)在同一个目录

那么就直接包含使用头文件时,就直接包含就行了,不需要路径的说明

举例:

比如现在有main.c,test.c,test.h三个文件,且都在同一个目录/home/user/code下

test.h声明了test.c中的函数

main.c需要使用test.c中的函数

/*main.c文件*/
#include <stdio.h>
#include "socket_include/test.h"

如果源文件(.c)和头文件(.h)不在同一个目录

比如现在有main.c,test.c,test.h三个文件,分别在/home/user/code/src和/home/user/code/incline目录下

目录下的文件如下:

/home/user/code/src : main.c,test.c

/home/user/code/incline: test.h

使用相对路径

举例:

/*main.c文件*/
#include <stdio.h>
#include "../include/test.h"

使用绝对路径

举例:

/*main.c文件*/
#include <stdio.h>
#include "/home/user/code/include/test.h"

其实推荐还是写绝对路径的

使用软链接

这种发法其实就是使用绝对路径,只不过将绝对路径用一个快捷方式表示,这样的话头文件包含就不必写的那么长,特别是在文件目录层级非常多的情况,这种便利越能体现

扩展知识:

linux中默认的系统库函数头文件在/user/include目录下的,当然也提供了一个目录可以放自己的函数头文件的目录,/user/local/inclue

这一块内容详情网上很多资源的,提供参考:

https://blog.csdn.net/jiaweizou/article/details/8153897

http://blog.chinaunix.net/uid-25544300-id-3310491.html

那么我们使用ln命令将自己的头文件软链接(相当于创建一个快捷方式)到这个目录下,并且取名字myinclude

注意:进行软链接的时候需要root权限
这里写图片描述
出现红色方框的信息的时候表示软链接成功

/*main.c文件*/
#include <stdio.h>
#include "myinclude/test.h"

可以对比使用绝对路径来看,这样就简化了一些

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33706673/article/details/79948605
文章标签: C语
个人分类: Linux C语言
上一篇makefile学习笔记(1)
下一篇Centos 修改当前路径显示为全路径
想对作者说点什么? 我来说一句

linux动态库的生成与使用

2018年04月27日 137KB 下载

没有更多推荐了,返回首页

关闭
关闭