|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
只要了解了Linux的基础之后,应该就可以很轻易的解决掉这方面的问题。而有些朋友们常常一接触Linux就是希望构架网站,根本没有想到要先了解一下Linux的基础。这是相当困难的。
Include的header文件,保持数据库,体系界说,统共有以下来历指定gcc往那找。
现在在编译时指定的(在~gcc/gcc/collect2.c:locatelib()
写在specs内的
厥后用-D-I-L指定的
gcc情况变量设定(编译的时分)
ld.so的情况变量(这是runtime的时分)
1、头文件
gcc在编译时怎样往寻觅所必要的头文件:
※以是headerfile的征采会从-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
2、库文件
cos()等函式库的选项要多加-lm
编译的时分:
※gcc会往找-L
※再找gcc的情况变量LIBRARY_PATH
※再找内定目次/lib/usr/lib/usr/local/lib这是现在compilegcc时写在程序内的
3、运转时静态库的搜刮路径
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.conf中指定的静态库搜刮路径
/lib/lib/libpos.so默许的静态库搜刮路径/lib
/usr/lib/usr/lib/libpos.so默许的静态库搜刮路径/usr/lib
综合以上了局可知,静态库的搜刮路径搜刮的前后按次是:
1.编译方针代码时指定的静态库搜刮路径;
2.情况变量LD_LIBRARY_PATH指定的静态库搜刮路径;
3.设置文件/etc/ld.so.conf中指定的静态库搜刮路径;
4.默许的静态库搜刮路径/lib;
5.默许的静态库搜刮路径/usr/lib</p>
写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。以上是我学习Linux的心得体会,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。 |
|