测试4 20211102尹子扬静态库的测试

1.首先,编译你的模块源代码成为目标文件(.o 文件)。例如,如果有一个模块名为 mymath.c,你可以使用以下命令来生成目标文件:

点击查看代码
gcc -c -g mymath.c -o mymath.o
请确保你以适当的方式编译所有的模块源代码文件(-g是为了之后做gdb调试断点使用)。

2.将所有目标文件打包成一个静态库文件。你可以使用 ar 命令来完成此操作。例如,假设你要将两个目标文件 mymath.o 和 myutil.o 打包成静态库文件 mymath.a,你可以使用以下命令:

点击查看代码
ar rcs mymath.a mymath.o myutil.o
在上面的命令中,r 选项用于将目标文件添加到静态库文件中;c 选项用于创建一个新的静态库文件(如果该文件不存在);s 选项用于在静态库文件中添加符号表和其他调试信息。

3.将静态库文件 mymath.a 复制到 main.c 的目录中。

4.链接静态库文件。例如,你可以使用以下命令编译 main.c 并链接 mymath.a 静态库:

点击查看代码
gcc -static main.c -L. -lmymath -I
在上面的命令中,-L. 选项用于告诉编译器查找当前目录中的库文件;-lmymath 选项用于告诉编译器链接名为 mymath 的库文件,-I指定链接库。

以下是实验代码截图

以下是静态库条件断点设置并调用的截图(在断点调试时第七行下一步跳到第三行的sub函数调用再返回到第八行进行下一步调用)

posted @ 2023-10-12 15:14  尹子扬  阅读(69)  评论(0)    收藏  举报