创建静态库和动态库

来源:互联网 发布:淘宝客服自动回复语录 编辑:程序博客网 时间:2024/05/21 17:19

库是一种可执行代码的二进制形式。可以被操作系统载入内存执行。


一般分为两种库:静态库和动态库。 

二者的不同之处在于代码的载入时刻不同。

 当程序在编译的时候,静态库会被连接到目标代码中,这样程序的体积会很大。


动态库会在程序运行的时候被载入内存。库可以实现代码的复用。


共享库的好处是 不同的应用程序调用同一个动态库时,在内存中仅有一个共享库的实例。

在编程的时候,我们往往喜欢模块化的思想,将各种 

                                   函数或者数据结构打包成静态库或者动态库,在以后编程的时候

                                                    如果需要引用,只需用加上库进行编译即可。



打包命令:

制作静态库:

gcc    -c    fun.c  -o     fun.o 

ar   rcs         libfun.a       fun.o

gcc   main.c     -o    main         -L.  /*   代表路径  */                      -lfun   

制作动态库:

gcc   -fPIC -c fun.c   -o  fun.o

gcc  -shared  -fPIC  -o   libfun.so          fun.o

gcc   main.c   -o   main        -L.       -lfun


最后必须将库加入到环境变量  有三种方法:


1.export  LD_LIBRARY_PATH=$(PWD);

2.将动态库加入到/lib  或 /usr/lib  下,ld默认能找到

3. 如果在其他目录中,将其加入到 /etc/ld.so.cache

加入方法:vim  /etc/ls.so.cache     在该文件中加入路径

运行 ldconfig    该命令用于重建/etc/ld.so.cache


     


0 0
原创粉丝点击