| (2)当所用的动态链接库在系统目录(/lib,/usr/lib)以外的目录时,须用编译选项-L来指定动态链接库所在的目录(供编译器查找用),同时用-l选项指定缩写的动态链接库名.即: |
| # cc -L/usr/zzz/lib -lmy -o ady ady.c |
| # cc -o ady ady.c libmy.so |
| # cc -o ady ady.c /lib/libmy.so |
| 等等.其中,动态链接库的库名能够采用相对路径形式(文档名不以/开头),也可采用绝对路径形式(文档名以/开头). |
| 编译连接好含动态函数的程式后,就能够运行他了.动态链接程式因为共享了系统中的动态链接库,所以其空间占用很小.但这并不意味功能的减少,他的执行和静态连接的程式执行,效果完全相同.在命令提示符下键入程式名及相关参数后回车即可,如下例: |
| 检查什么?检查动态链接程式究竟需要哪些共享库,系统中是否已有这些库,没有的话,用户好想办法把这些库装上. |
| 怎么检查呢?这里,告诉您一个实用程式--ldd,这个程式就是专门用来检查动态链接程式依赖哪些共享库的. |
| ldd [--version] [-v|--verbose] [-d|--data-relocs] [-r|--function-relocs] [--help] FILE... |
| (1) --version : 此选项用于打印出ldd的版本号. |
| (2) -v 或 --verbose : 此选项指示ldd输出关于所依赖的动态链接库的尽可能周详的信息. |
| (3) -d 或 --data-relocs : 此选项执行重定位,并且显示不存在的函数. |
| (4) -r 或 --function-relocs : 此选项执行数据对象和函数的重定位,同时报告不存在的对象. |
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!