2018-2019-1 20165331 《信息安全系统设计基础》第一周学习总结

2018-2019-1 20165331 《信息安全系统设计基础》第一周学习总结

gcc编译器

常用参数:

-I:在此参数后添加自定义头文件的路径
-E:表示对.c文件预处理,输出.i文件
-S:表示对.i文件进行编译,输出.s文件
-c:表示对.s文件进行汇编,输出.o文件
-o:指定生成的输出文件
-l:指定程序要链接的库
-L:指定库文件所在目录

操作格式:

gcc -E hello.c -o hello.i
gcc -S hello.i -o hello.s
gcc -c hello.s -o hello.o
gcc hello.o -o hello
使用通配符进行多模块编译

gdb的使用

首先在编译时加入-g参数以进行调试
gdb:打开gdb
file ...:在gdb中打开某文件
l&list:每10行列出程序
b n:在第n行添加断点
b n if ...:在第n行添加一个条件为...的条件断点
r:运行程序
next:运行下一步
clear:清除断点
quit:退出gdb

库的生成与使用

静态库

生成:ar rcvs mymath.a *.o
调用:gcc main.c -o main -L. -lmath

共享库

生成:gcc -shared -fpic -o mymath.so *.c
调用:gcc -o link main.c ./mymath.so

Makefile

基本格式:

target 目标文件名 : 生成目标文件所需文件
make执行的命令
...
...
需要注意的是在vi中,第二行开始的各项命令都需要使用Tab键空出首位。

执行过程:

vi makefile
make
./...

posted @ 2018-09-23 23:01  胡麟  阅读(99)  评论(0编辑  收藏  举报