易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux系统的头文件和库文件搜索路径

Include的header文件,连结数据库,系统定义,总共有下列来源指定gcc去那找。
当初在编译时指定的(在~gcc/gcc/collect2.c:locatelib()
写在specs内的
后来用-D -I -L指定的
gcc环境变量设定(编译的时候)
ld.so的环境变量(这是run time的时候)
一、头文件
gcc 在编译时如何去寻找所需要的头文件 :
※所以header file的搜寻会从-I开始
※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH
※再找内定目录
/usr/include
/usr/local/include
/usr/lib/gcc-lib/i386-linux/2.95.2/include
/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../include/g -3
/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../i386-linux/include
库文件但是如果装gcc的时候,是有给定的prefix的话,那么就是
/usr/include
prefix/include
prefix/xxx-xxx-xxx-gnulibc/include
prefix/lib/gcc-lib/xxxx-xxx-xxx-gnulibc/2.8.1/include
二、库文件
cos()等函式库的选项要多加 -lm
编译的时候:
※gcc会去找-L
※再找gcc的环境变量LIBRARY_PATH
※再找内定目录 /lib /usr/lib /usr/local/lib 这是当初compile gcc时写在程序内的
三、运行时动态库的搜索路径
1、在配置文件/etc/ld.so.conf中指定动态库搜索路径
2、通过环境变量LD_LIBRARY_PATH指定动态库搜索路径(当通过该环境变量指定多个动态库搜索路径时,路径之间用冒号":"分隔)
3、在编译目标代码时指定该程序的动态库搜索路径(还可以在编译目标代码时指定程序的动态库搜索路径。
这是通过gcc 的参数"-Wl,-rpath,"指定(如例3所示)。当指定多个动态库搜索路径时,路径之间用冒号":"分隔)
4、默认的动态库搜索路径/lib
5、默认的动态库搜索路径/usr/lib
可以通过执行可执行文件pos得到的结果不同获知其搜索到了哪个动态库,从而获得第1个动态库搜索顺序,然后删除该动态库,
再执行程序pos,获得第2个动态库搜索路径,再删除第2个被搜索到的动态库,
如此往复,将可得到Linux搜索动态库的先后顺序。
程序pos执行的输出结果和搜索到的动态库的对应关系如表1所示
程序pos输出结果 使用的动态库 对应的动态库搜索路径指定方式
./ ./libpos.so 编译目标代码时指定的动态库搜索路径
/root/test/env/lib /root/test/env/lib/libpos.so 环境变量LD_LIBRARY_PATH指定的动态库搜索路径
/root/test/conf/lib /root/test/conf/lib/libpos.so 配置文件/etc/ld.so.


相关文档:

Windows程序员如何转向Linux开发应用?

Windows程序员如何转向Linux开发应用?
这是一封发到邮箱里面的邮件,感觉有点代表性,这里做个统一回答,一家之言哈,欢迎拍砖。
原文如下:
我从csdn学习大本营得到您的信息。不好意思打搅您。
我现在用c++在linux下开发大型应用程序。我想请教是否值得深入学习linux kernel。
我没有特别多的时间。另外我有多年Wind ......

linux 字符驱动2


导航:[首页]>[linux内核学习笔记]
目录
 [隐藏]
1 字符设备驱动知识讲解
1.1 描述字符设备基本结构体
1.2 作用
1.3 各字段详解
1.4 操作
1.5 实例
1.5.1 代码
1.5.2 运行
[编辑]字符设备驱动知识讲解
作者:[牛涛]
[编辑]描述字符设备基本结构体
/linux/ ......

借助sniffer诊断Linux网络故障


嗅探器(sniffer)在网络安全领域是一把双刃剑,一方面常被黑客作为网络攻击工具,从
而造成密码被盗、敏感数据被窃等安全事件;另一方面又在协助网络管理员监测网络状况、诊断网络故障、排除网络隐患等方面有着不可替代的作用。嗅探器是企业
必不可少的网络管理工具。本文以Linux平台下三个常用的网络嗅探器Tcpdump、Eth ......

Linux学习线路...


中文版书目
《Apache Cookbook中文版(第二版)》 New!
《Linux Networking Cookbook中文版》 New!
《Shell脚本学习指南》 New!
《卓有成效的程序员》 New!
《代码之美》 New!
《嵌入式硬件设计(第二版)》 New!
《LPI Linux认证权威指南(第二版)》 New!
《LINUX SERVER HACKS(卷二)》 New!
《BSD Hacks》 ......

Linux 信号介绍

1) SIGHUP
本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。
登录Linux时,系统会分配给登录用户一个终端(Session)。在这个终端运行的所有程序,包括前台进程组和后台进程组,一般都属于这
个 Sessio ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号