标签:命令 c语言 调用 sdn 断点 第一周 命令模式 .sh 程序
带head.h的头文件编译:需要使用"-I + 头文件路径"
例:gcc -I include src/*.c -o bin/xx
例:
1、输入 "gcc (-g) -c -I/头文件所在路径 add.c sub.c mul.c div.c" 生成.o文件
2、输入 "ar rcvs libmath.a add.o sub.o mul.o div.o"生成静态库
3、输入 "gcc (-g) main.c -o main -I/头文件所在路径 -L. -lmath" 生成可执行文件main
例:
1、输入 "gcc (-g) -fPIC -c -I/头文件所在路径 add.c sub.c mul.c div.c" 生成.o文件
2、输入 "gcc -shared -o libmath.so add.o sub.o mul.o div.o"生成动态库
3、将文件libmath.so复制到目录/usr/lib中后,再输入"gcc (-g) main.c -o main -I/头文件所在路径 -L. -lmath"生成可执行文件main
vim Makefile
文件类型:由哪个文件得到
得到过程
例如:
main:main.o //可执行文件main是由目标文件main.o得到。
gcc main.o –o main //得到过程是将main.o编译成main文件。
main.o:main.c
gcc -c main.c -o main.o
在Makefile文件中一定要将每一个.c文件按执行顺序先编译成.o文件,再按顺序将.o文件编译成可执行文件。
每次编译过后会产生很多的.o文件,对于程序运行没什么太大意义,反而会占内存,所以我们也可以在Makefile文件中添加清除命令(clean),如:
.PHONY:clean
clean: 删除所有文件类型为.o的文件
rm –rf *.o
编译和执行(make:编译, 。/all:执行)
(statistics.sh脚本的运行结果截图)
在学习本门课程的第一周,就对忘了很多的C语言进行了深入的学习。比如编译这一步骤,之前只会用codeblock等点一下就编译了,而没想过中间还需要预处理等步骤,最后还要链接可执行程序。让我有了很大的收获,尤其是刚刚学习的静态库、动态库,让我对C有了新的认识。在这之前,我对Makefile一点认识都没有,在编写Makefile时遇到了一些困难,不论是格式还是编写规则,都是十分新鲜的事物。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 124/124 | 1/1 | 9/9 |
计划学习时间:5小时
实际学习时间:9小时
2018-2019-1 20165228 苏祚堃《信息安全系统设计基础》第一周学习总结
标签:命令 c语言 调用 sdn 断点 第一周 命令模式 .sh 程序
原文地址:https://www.cnblogs.com/cloud795/p/9693577.html