| 为了让GCC编译器生成动态链接库,编译时须加选项-shared.(这点须牢记) |
| LINUX系统中,为了让动态链接库能被系统中其他程式共享,其名字应符合“lib*.so*”这种格式.假如某个动态链接库不符合此格式,则LINUX的动态链接库自动装入程式(ld.so)将搜索不到此链接库,其他程式也无法共享之. |
| 格式中,第一个*通常表示为简写的库名,第二个*通常表示为该库的版本号.如:在我的系统中,基本C动态链接库的名字为libc.so.6,线程pthread动态链接库的名字为libpthread.so.0等等.本文例子所生成的动态链接库的名字为libmy.so,虽没有版本号,但也符合所需要的格式. |
| 生成该动态链接库的维护文档makefile-lib内容如下: |
| 1 # makefile : 纵横软件制作中央雨亦奇编写, 2002-03-07. |
| 5 SRC = getdate.c gettime.c |
| 17 cc -s -shared -o $@ $(TGT) |
| 注: 维护文档中,第17行用-shared选项以生成动态链接库,用-s选项以去掉目标文档中的符号表,从而减小文档长度. |
| 为了让动态链接库为系统所使用,需要维护动态链接库的配置文档--/etc/ld.so.conf.此文档内,存放着可被LINUX共享的动态链接库所在目录的名字(系统目录/lib,/usr/lib除外),各个目录名间以空白字符(空格,换行等)或冒号或逗号分隔.一般的LINUX发行版中,此文档均含一个共享目录/usr/X11R6/lib,为X window窗口系统的动态链接库所在的目录. |
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!