静态库的心得:
gcc test.c -o test -L. -lhello;
-L.是连接的路径;
-l hello是连接的文件
静态库在编译连接时(编译连接如上图的代码)会把代码储存到可执行文件中。应用程序已经有了
库的代码 ,linux系统会把库删除。因为已经加载到应用程序中去。所以连接完静态库的程序并在连接之前删除静态库。所以程序在运行时已经无需加载静态库。应用程序就是可执行文件,文件中的代码过多,就会占据很多磁盘空间。静态库升级后系统需要重新连接。
为什么需要重新连接;
升级之后有了新内容,要想把所有新的信息加载到文件中去,必须重新连接。
当有多个应用程序需要静态库是这种情况:
接下来是制作静态库的过程:
先写好静态库源码
将他生成目标文件是这样写:
gcc hello.c -c
生成文件的形式是hello.o
ar crs libhello.a hello.o //这句话的意思是把hello.o 文件生成静态库文件
libhello.a 是生成静态库的文件
hello.o是目标文件。