您的位置:首页 > 其它

2017-2018-1 20155231 《信息安全系统设计基础》 第二周课堂测试

2017-10-01 20:47 337 查看

第二周测试

测试1

用vi输出图中代码,每个.c,.h一个文件

在vim编辑器中,将光标移动到printf的位置,按k使用帮助文档



测试2

预处理:

gcc –E main.c –o hello.i;

gcc –E调用cpp

编 译:

gcc –S main.i –o main.s;


gcc –S

调用ccl

汇 编:

gcc –c main.s –o main.o;

gcc -c 调用as

链 接

:gcc main.o  add.o sub.o mul.o div.o –o main;

gcc -o 调用ld。

每个.c文件运行获得.o文件,将所有.o文件链接得到可执行文件。



测试3



gcc -g

编译得到了可执行文件,用gdb调试文件,输入(gdb) l显示文本,输入(gdb)b n在第n行设置断点



在main函数中加入循环

for(i=0;i<5231;i++)

,设置条件断点,

(gdb)b if i=2615

gdb(r)

运行



测试4 静态库

使用AR工具创建静态库

ar rcs mymath20155231.a add.o sub.o div.o mul.o

链接输入文件main.o和mymath20155231.a

gcc -static -o prog20155231 main.o ./mymath20155231.a

输入

./prog20155231

调用静态库。



测试5 共享库

创建库

gcc -shared -fpic -o mymath20155231.so add.c sub.c mul.c div.c

创建可执行文件

gcc -o prog20155231s main.o ./mymath20155231.so

运行文件。



测试6 Makefile

要写一个Makefile来告诉make命令如何编译和链接这几个文件。我们的规则是:

如果这个工程没有编译过,那么我们的所有C文件都要编译并被链接。

如果这个工程的某几个C文件被修改,那么我们只编译被修改的C文件,并链接目标程序。

如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的C文件,并链接目标程序。

编写makefile为如图



输入make创建文件testmymath,失败,在写入定义如何生成目标文件的操作系统命令,一定要以一个Tab键作为开头



输入make创建成功,运行。



代码链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐