文件名称必须是makefile
1) sudo apt install make 安装make命令(make命令执行 只认makefile文件)
2)编辑 C源文件
3)编辑makefile文件
make 命令执行出问题(error .warning)
排查:
1.c语言代码实现是否存在语法问题
2.makefile 文件 格式
linux环境下如何进行C代码调试
gcc -o main main.c -g(向main.c文件中添加调试信息)
gdb main : 开启调试
l : 显示代码
b +行号: 下断点
info b : 显示断点信息
delete 断点编号 :断点删除
n :单步执行
r : 启动程序
p +变量: 打印当前变量的值
s : 进入函数 当前代码执行到函数调用处 ,输入S, 切入到函数内部执行
finish : 跳出函数
break +函数名: 在函数入口地址加断点
c/continue :继续 从一个断点跳转到另外一个断点
q : 退出调试
ptype 变量 :查看变量类型
三 . 静态库的建立l+ num : 查看num行上下位置的源代码
四 . 共享库的建立1)先将.c文件转成.o文件
gcc -c add.c mul.c(main函数不转成.O文件)
2) 打包成静态库文件libfoo.a
ar crv libfoo.a add.o mul.o
3) 编译连接成可执行文件
gcc -o main main.c -L. -lfoo
4) ./main
静态库主函数更改的情况:
入上图,生成执行文件后,再更改主函数后执行gcc -o main main1.c -L. -lfoo 生成更改后主函数。
1)先编辑 .c文件ls
gcc -c min.c gcc -c max.c
2)将生成的.o文件共享库
gcc -shared -fPIC libfoo.so -o min.o max .o
3)在生成libfoo.so同时必须将共享库放在/usr/bin 目录里
4)编辑main.c 文件 直接使用min函数和max函数
5)链接共享库,生成可执行文件
gcc -o main main.c -lfoo
6) ./main
共享库和静态库的区别:
静态库在链接时将所用到的函数包含到最终生成的可执行文件中。共享库不会包含到可执行文件中,只做标记,在运行时才会动态加载,所以共享库体积小,但运行速度较静态库慢一些。



