2.通过环境变量LD_LIBRARY_PATH指定动态库搜索路径。通过设定环境变量LD_LIBRARY_PATH也可以指定动态库搜索路径。当通过该环境变量指定多个动态库搜索路径时,路径之间用冒号':'分隔。下面通过例2来说明本方法。
举一个例子:这次我们把上面得到的文件lib_test.so移动到另一个地方去,如/root下面,然后设置环境变量LD_LIBRARY_PATH找到lib_test.so。设置环境变量方法如下:# export LD_LIBRARY_PATH=/root # 然后运行: #./main.out You found me!!!# 注意:设置环境变量LD_LIBRARY_PATH=/root是不行的,非得export才行。
3.在编译目标代码时指定该程序的动态库搜索路径。还可以在编译目标代码时指定程序的动态库搜索路径。-Wl,表示后面的参数将传给link程序ld(因为gcc可能会自动调用ld)。这里通过gcc的参数'-Wl,-rpath,'指定 举一个例子:这次我们还把上面得到的文件lib_test.so移动到另一个地方去,如/root/test/lib下面,因为我们需要在编译目标代码时指定可执行文件的动态库搜索路径,所以需要用gcc命令重新编译源程序main.c(见程序2)来生成可执行文件main.out。# gcc -o main.out -L. –l_test -Wl,-rpath,/root/test/lib main.c#
运行结果: # ./main.out You found me!!! #
一个函数开始的时候可能以内联的形式出现,但是随着系统的扩展,函数体可能要求添加额外的功能,结果内联函数就变得不太可能,因此需要把inline specifier去除以及把函数体放到一个单独的源文件中。
从运行结果可见:三种方式的缓存配置都已经成功。
我们从运行结果来看,它一会输出mainthread ,一会输出new thread。
对比一下jsp页面和生成的java类可以发现,页面的所有内容都被放在_jspservice方法中,其中页面直接输出的html代码被翻译成out.write输出,页面中的动态“”包裹的java代码直接写到_jspservice方法中的相应位置,而“”被翻译成out.print输出。
3) java.library.path: storm使用的本地库(zmq和jzmq)加载路径,默认为”/usr/local/lib:/opt/local/lib:/usr/lib”,一般来说zmq和jzmq默认安装在/usr/local/lib 下,因此不需要配置即可。
error: plugin load for plugin 'decodeutfkeys' failed with return code: error: can't locate uri/escape.pm in @inc (@inc contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl . /usr/share/awstats/lib /usr/share/awstats/plugins) at (eval 3) line 1.。
配置文件smb.conf的默认路径是/usr/local/samba/lib/smb.conf,我们可以在运行smbd进程时,通过-s选项来执行特定的smb.conf文件(具体说明见下一节),一般不推荐使用-s选项,因为其配置工具,如smbclient、testparm等默认都是读取/usr/local/samba/lib/smb.conf文件。
2、默认情况下,系统搜索库文件的路径/lib, /usr/lib。
以上介绍了三种指定动态库搜索路径的方法,加上默认的动态库搜索路径/lib和/usr/lib,共五种动态库的搜索路径,那么它们搜索的先后顺序是什么呢?读者可以用下面的方法来试验一下:(1)用前面介绍的方法生成5个lib_test.so放在5个不同的文件夹下面,要求每一个lib_test.so都唯一对应一个搜索路径,并注意main.out程序输出的不同。(2)运行main.out,即可看出他是那个搜索路径下的,然后删除这个路径下的lib_test.so,然后再运行。依此类推操作,即可推出搜索顺序。
可以得出动态库的搜索路径搜索的先后顺序是:
1.编译目标代码时指定的动态库搜索路径;
2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径;
3.配置文件/etc/ld.so.conf中指定的动态库搜索路径;
4.默认的动态库搜索路径/lib;
5.默认的动态库搜索路径/usr/lib。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-90979-10.html