LD_LIBRARY_PATH与-L的关系,ld_library_path-l


LD_LIBRARY_PATH是一个环境变量,它的作用是让动态链接库加载器(ld.so)在运行时(run-time)有一个额外的选项,即增加一个搜索路径列表。这个环境变量中,可以存储多个路径,用冒号分隔。它的厉害之处在于,搜索LD_LIBRARY_PATH所列路径的顺序,先于嵌入到二进制文件中的运行时搜索路径,也先于系统默认加载路径(如/usr/lib)。

 

一个并不招人喜欢的副作用是,LD_LIBRARY_PATH在链接阶段也会被搜索,顺序位于-L所指定的目录之后(没有-L选项当然也会搜索)。

 

----------------------------------------------------------------------------------------------------------------

我遇到的问题:

g++ multiple.cpp -L/usr/local/lib -lboost_program_options编译完后,ldd ./a.out发现 

libboost_program_options.so.1.55.0 => not found

但是,当我在.bashrc里面写入:

export LD_LIBRARY_PATH=/usr/local/lib,然后再编译,我发现可以了,这是为什么呢?


makefile文件中怎使用 export LD_LIBRARY_PATH=/myfile/makefile:$LD_LIBRARY_PATH

LD_LIBRARY_PATH是程序运行时系统用来查询库文件的环境变量,你现在在编译产生目标文件...不需要处理这个变量...

只需要在gcc编译产生最终目标时,用 -L 指定特殊的库文件位置,-l指定库的名字即可链接成功...
 

mol/L与N的关系

mol/L就是每升该物质的量浓度,即每升物质所含有的摩尔数
摩尔浓度和当量浓度是在具体的物质下才是可以转换的。
比如说1mol/L的H2SO4,如果换成当量浓度就应该是2N H2SO4,大概的意思就是1mol的H2SO4会有2mol的氢离子,类似的1mol/L的HCL就是1N。
1mol/L的NAOH就是1N,1mol/L的CA(OH)2就是2N的碱。
也就是说如果物质氢离子或氢氧离子数为一的话,那他们就是1:1转换,如果氢离子或氢氧离子的数为n,那么当量就是n 而摩尔数还是一。
 

相关内容