51Testing软件测试论坛

标题: 制作并测试静态库 [打印本页]

作者: 测试积点老人    时间: 2019-1-8 15:21
标题: 制作并测试静态库

编译静态库过程:

    源文件包括: liberr.h, liberr.c

    编译为静态库:

        gcc -c liberr.c -o liberr.o

        ar rcs liberr.a liberr.o

        如此, 就在当前目录下构建好静态库文件liberr.a;


扩展:

        . ar -t liberr.a  列出库文件中所有的目标文件(.o);

        . nm, 列出目标文件(.o)的符号清单;

            nm -s liberr.a

        . objdump, 查看目标文件的信息, 就是(ar和nm的复合);


测试该静态库:

    测试文件: errtest.c

    编译连接: gcc errtest.c -static -L. -lerr -o test

    其中, -lerr, 指定静态库名为liberr; -L. , 指定静态库的搜索路径为当前目录;

    报错: /usr/bin/ld: cannot find -lc

        也就是说, 连接器找不到libc.a; 上网查找, 说是因为未安装该库;

        so, yum install glibc-static

        再编译, OK.







欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2