在返回的响应信息中,使用 access-control-allow-origin 头来控制哪些域名的脚本可以访问该资源。
[url=file://\\system\\lib\\libc.so]\\system\\lib\\libc.so[/url]。
libc.so.6 => /lib/libc.so.6 (0x00007fca397a7000)。
“-lc”表示我们要链接c库/lib/libc.so,如果是“-lx”,默认链接/lib/libx.so库。
lrwxrwxrwx 1 root root 14 2010-11-22 09:58 /lib/libc.so.6 -> libc-2.12.1.so。
从上面的结果可以继续查看printf最终在哪里被定义,有兴趣可以Go on
1.8、使用ar工具,可以生成静态库,同时可以查看静态库中包含那些.o文件,即有那些源文件构成。
可以使用 ar -t libname.a 来查看一个静态库由那些.o文件构成。
可以使用 ar q libname.a xxx1.o xxx2.o xxx3.o ... xxxn.o 生成静态库
Linux下进行程序设计时,关于库的使用:
一、gcc/g++命令中关于库的参数:
-shared:该选项指定生成动态连接库(让连接器生成T类型的导出符号表,有时候也生成弱连接W类型的导出符号),不用该标志外部程序无法连接。相当于一个可执行文件
-fPIC:表示编译为位置独立(地址无关)的代码,不用此选项的话,编译后的代码是位置相关的,所以动态载入时,是通过代码拷贝的方式来满足不同进程的需要,而不能达到真正代码段共享的目的。
-L:指定链接库的路径,-L. 表示要连接的库在当前目录中
-ltest:指定链接库的名称为test,编译器查找动态连接库时有隐含的命名规则,即在给出的名字前面加上lib,后面加上.so来确定库的名称
LD_LIBRARY_PATH:这个环境变量指示动态连接器可以装载动态库的路径。
当然如果有root权限的话,可以修改/etc/ld.so.conf文件,然后调用/sbin/ldconfig来达到同样的目的,
不过如果没有root权限,那么只能采用修改LD_LIBRARY_PATH环境变量的方法了。printf()函数
调用动态库的时候,有几个问题会经常碰到:
1、有时,明明已经将库的头文件所在目录 通过 '-I' include进来了,库所在文件通过'-L'参数引导,并指定了'-l'的库名,但通过ldd命令察看时,就是死活找不到你指定链接的so文件,这时你要作的就是通过修改LD_LIBRARY_PATH或者/etc/ld.so.conf文件来指定动态库的目录。通常这样做就可以解决库无法链接的问题了。
二、静态库链接时搜索路径的顺序:
1. ld会去找gcc/g++命令中的参数-L;
2. 再找gcc的环境变量LIBRARY_PATH,它指定程序静态链接库文件搜索路径;
安装后/home/mpi/mpich2下多出来一些目录和文件,要比windows多,lib是库文件,include是头文件,bin还是程序文件,所以还是要写到环境变量里,可以用命令export path /home/mpi/mpich2/bin:$path,但我是用root用户直接在/etc/profile最后面加了这么一句export path=/home/mpi/mpich2/bin:$path,一劳永逸。
(1)export classpath=.:$java_home/lib/dt.jar:$java_home/lib/tools.jar:/home/jediael/heritirx1.14.4/lib/*:/home/jediael/heritirx1.14.4/bin/*:/home/jediael/heritirx1.14.4/conf/*。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-90979-4.html
大发
一屋子男人