静态库(.a)
一个deal.c usedeal.c
重点
1. gcc -c deal.c
生成 deal.o
2. ar -rsv libdeal.a deal.o
生成 libdeal.a
2.5 可以通过ar -t libdeal.a 看一个静态库都包含哪些obg文件
3. gcc -o usedeal usedeal.c -L./ -ldeal
生成可执行程序usedeal
4. ./usedeal
动态库(.so)
usedeal.c
deal.h
动态链接
1 生成.o文件
gcc -c -fPIC -o deal.o deal.c
-c表示只编译(compile),而不连接。-o选项用于说明输出(output)文件名。gcc将生成一个目标(object)文件deal.o。
注意-fPIC选项。PIC指Position Independent Code。共享库要求有此选项,以便实现动态连接(dynamic linking)。
2生成.so文件
gcc -shared -o deal.so deal.o
库文件以lib开始。共享库文件以.so为后缀。-shared表示生成一个共享库。
3.gcc -o test usedeal.c -ldeal -L.
生成test可执行程序
./test
动态加载
待续。。
写的太急 很多地方待补充(╯—﹏—)╯( ┷━━━┷
参考
http://www.cnblogs.com/vamei/archive/2013/04/04/2998850.html
http://www.codeceo.com/article/linux-library.html
时间: 2024-10-25 15:14:37