gcc -o main main.c -L. -ltest
因为是静态编译,生成的执行文件可以独立于。a文件运行。
第五步:执行。
./main
示例四 创建并使用动态库
第一步:编辑源文件,test.h test.c main.c。其中main.c文件中包含main函数,作为程序入口;test.c中包含main函数中需要用到的函数。
vi test.h test.c main.c
第二步:将test.c编译成目标文件。
gcc -c test.c
前面两步与创建静态库一致。
第三步:由。o文件创建动态库文件。
gcc -shared -fPIC -o libtest.so test.o
第四步:在程序中使用动态库。
gcc -o main main.c -L. -ltest
当静态库和动态库同名时,gcc命令将优先使用动态库。
第五步:执行。
LD_LIBRARY_PATH=. ./main
示例五 查看静态库中的文件
[root@node56 lib]# ar -t libhycu.a base64.c.o binbuf.c.o cache.c.o chunk.c.o codec_a.c.o … xort.c.o [root@node56 lib]# [root@node56 lib]# ar -tv libhycu.a rw-r--r-- 0/0 7220 Jul 29 19:18 2011 base64.c.o rw-r--r-- 0/0 2752 Jul 29 19:18 2011 binbuf.c.o rw-r--r-- 0/0 19768 Jul 29 19:18 2011 cache.c.o … rw-r--r-- 0/0 4580 Jul 29 19:18 2011 xort.c.o [root@node56 lib]# [root@node56 lib]# nm -s libhycu.a | less Archive index: Base64Enc in base64.c.o GetBase64Value in base64.c.o Base64Dec in base64.c.o encode64 in base64.c.o decode64 in base64.c.o check64 in base64.c.o test64 in base64.c.o … chunk_alloc in chunk.c.o [root@node56 lib]#
以上所述是小编给大家介绍的linux ar 命令的使用说明和实例讲解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对易采站长站网站的支持!










