一、常用编译命令:
gcc -c : -c选项的作用是阻止编译器创建一个完整的程序,生成.o文件。
gcc -o: -o选项的作用是链接目标.o的文件为一个可执行的文件。
1.创建库文件:
ar:将若干个单独的文件归并到一个大的文件中以创建归档文件或集合。可以用ar程序来创建任何类型文件的归档文件。
-------$ar crv libfoo.a bill.o fred.o
a - bill.o
a- fred.o
生成了libfoo.a库文件。
-------$ranlib libfoo.a #为函数库生产一个内容表。
2.共享库的链接方式:
程序本身不再包含函数代码,而是引用运行时可以访问的共享代码。当编译好的程序被加载到内存中执行时,函数引用被解析并产生对共享库的调用,如果有必要,共享库才被加载到内存中。
3.查看库中的函数:
-------$nm libfoo.a
4.查看一个程序需要的共享库。
-------$ldd program
linux-gate.so.1 => (0xb7729000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb755b000)
/lib/ld-linux.so.2 (0xb772a000)
末尾的数字表示的是主版本号。
5.共享库:linux与windows库的区别
.so库对应于.DLL 在程序运行时加载。
.a 库类似于 .LIB 静态库。
阅读(786) | 评论(0) | 转发(0) |