第一章 C语言 —— 静态库和动态库
很多时候需要把一组代码编译成一个库,这个库在很多项目中都要用到。
?
?
?
1)程序文件(虽然实际上没太大必要)
?
文件目录结构
[www@zhoubc src]$ gcc main.c -g -L./ -lstack -Wl,-rpath,./
?
???? -Wl,-rpath,./
表示-rpath ./
是由gcc
传递给链接器的选项,表示搜索路径.
???? -Wl,option代表把选项option传给链接器.
?
?
?
?
=========================================================================
?
?
?
共享库和静态库
?
?
链接共享库和链接静态库区别:
????? 链接共享库 只是指定了动态链接器和该程序所需要的库文件,并没有真的做链接,可执行文件调用的库函数仍然是未定义符号,要在运行时做动态链接。——在编译和加载的时候都需要,没有真正编译进可执行文件。
???? 链接静态库 链接器会把静态库中的目标文件取出来和可执行文件真正链接在一起.——只在编译的时候需要
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?