uc下的静态库和共享库创建方式

 1、创建静态库的过程:
 1)写源程序
  math.c   view.c
 2)编译源程序
  gcc -c math.c  ==> math.o
  gcc -c view.c  ==> view.o
 3)创建静态库文件
  ar -r libmyku.a math.o view.o
2、使用静态库文件
 1)写程序,调用库中的函数
  testku.c
 2)编译
  gcc -c testku.c ==> testku.o
 3)连接
  第一种方式:
   gcc testku.o libmyku.a  ==> a.out
  第二种方式:
   gcc testku.o -l myku  ==> a.out
   依赖环境变量LIBRARY_PATH
  连接过程:将库名myku变成文件名libmyku.a,然后在LIBRARY_PATH环境变量指定的路径找到文件libmyku.a,最后进行连接。
  第三种方式:
   gcc testku.o -l myku -L .
  不需要依赖环境变量LIBRARY_PATH,用-L指定查找库文件的路径
  
3、创建共享库
 1)写源程序
  math.h math.c view.c
 2)编译源程序
  gcc -c -fpic math.c ==> math.o
  gcc -c -fpic view.c ==> view.o
 3)连接并生成共享库文件
  gcc -shared math.o view.o -olibmysku.so ==>libmysku.so
4、使用共享库
 1)写使用程序
  testku.c
 2)编译
  gcc -c testku.c
 3)连接
  gcc testku.o -lmysku -L. ==> a.out
 4)运行
  a.out
  依赖环境变量LD_LIBRARY_PATH
  a.out在运行期间调用库中的函数时,需要先找到共享库文件,查找库文件的方式是搜索LD_LIBRARY_PATH指定的路径
  
project
 src
 bin
 lib
 doc
练习:
 写几个函数(考虑打印菱形,一个打印空心,一个打印实心),将这此函数做成静态库文件,并调用它,再做成共享库文件,并调用它。
 
    
  
  
  
  

你可能感兴趣的:(uc下的静态库和共享库创建方式)