C语言include<> 路径问题

雨焰 2014-08-26 05:58:39
在编写C或者C++文件的时候,include<>包含库文件的时候,
有些填写的是路径有些直接就写了,这点很迷惑,希望能有人解答

比如有一个文件里面:
#include <errno.h>
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>

#include <linux/fb.h>
#include <sys/ioctl.h>
#include <sys/mman.h>

最后三个都是有路径的,这是为什么?



还有一个,如果做过Android jni的朋友,我想问一下编写.c .c++文件的包含的库文件,这些是从system/bin文件夹里面.so文件里面读取的吗?如果包含路径是不是和在linux里面的一样呢?或者include <> 有什么需要注意的地方呢?




以上问题回答任意都可以,谢谢!
...全文
1195 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
漂浮一生 2014-08-29
  • 打赏
  • 举报
回复
引用 3 楼 q332010372 的回复:
可以加绝对路径,如果不加绝对路径,编译器就会根据工程配置里的 include 默认路径去寻找,最后三个是因为这三个头文件是在默认路径下的三个不同的文件夹里面
绝对路径不适合的,遇到问题很麻烦的,写好的项目在别人哪里如何运行?? 一般都用相对路径的
登陆首发 2014-08-28
  • 打赏
  • 举报
回复
引用 3 楼 q332010372 的回复:
可以加绝对路径,如果不加绝对路径,编译器就会根据工程配置里的 include 默认路径去寻找,最后三个是因为这三个头文件是在默认路径下的三个不同的文件夹里面
其实都在/usr/include 下
赵4老师 2014-08-27
  • 打赏
  • 举报
回复
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……
mymtom 2014-08-27
  • 打赏
  • 举报
回复
相对路径嘛 以Linux为例 #include <errno.h> 实际包含的是 /usr/include/errno.h #include <sys/ioctl.h> 实际包含的是 /usr/include/sys/ioctl.h
q332010372 2014-08-26
  • 打赏
  • 举报
回复
可以加绝对路径,如果不加绝对路径,编译器就会根据工程配置里的 include 默认路径去寻找,最后三个是因为这三个头文件是在默认路径下的三个不同的文件夹里面
707wk 2014-08-26
  • 打赏
  • 举报
回复
引用 1 楼 cfjtaishan 的回复:
后面三个不同的地方时这是三个头文件都在自己独立的目录里。而这些目录和上面的头文件在相同的路径下。所以,需要加上相对路径了。
+1
自信男孩 2014-08-26
  • 打赏
  • 举报
回复
后面三个不同的地方时这是三个头文件都在自己独立的目录里。而这些目录和上面的头文件在相同的路径下。所以,需要加上相对路径了。

69,335

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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