1110linux学习笔记

10 篇文章 1 订阅

11月10日liunx学习笔记

linux开发工具

gcc工具(查语法错误)

1)编译过程: 源文件xxx .c-预处理xxx .i 处理 宏等-编译 xxx.o 为二进制 目标文件-链接-可执行xxx.exe .out二进制
2)gcc格式:
gcc[-wall][-O1,2,3][-g][-o][xxxx(.o)]
-wall 打开所有警告
-o xxx 指出输出文件名 如1果没有指出 默认a.out
-E xxx 预处理
-c 只编译 生产.o目标文件不生产可执行文件
-s 生成汇编代码
-O -O1 -O2 -O3 不同优化等级 -O=-O1 -O0不优化
-g 产生调试工具 用gdb调试,将调试编译信息编译到目标文件中
-D xxx对xxx进行宏定义
-U xxx 取消宏定义
-I ./xxx 将指出的目录加入到程序头文件目录列表中
-I- 取消路径
-L 将指出的目录加入到库文件的目录列表中
-C 不删除注释程序

库文件创建

静态库

ar rcs libxxxx.a(库名全称) xxxx1.o xxxx2.o …(若干个所需静态库)
ar -t libxxxx.a(查看库文件内容)
ar -d(v)libxxxx.a(删除库制定.o文件)(显示信息)
ar -x(v) libxxxx.a(提取指定.o文件)(显示信息)

动态库

gcc -shared -fPIC -o libxxxx.so xxxx.c(创建动态库)
gcc xxx.c ./libxxx.so -o xxxxx(可执行文件名) ( 使用动态库)

GDB调试器

1)启动被调试程序
2)让被调试文件陈旭序在指定位置停住
3)停住时检查程序状态可变量值
(格式)gcc -g xxx.c -o xxx(启动gdb)
gdb下格式:
1.启动GDB gdb test
2.在main函数中设置断点 break main
3.运行程序 run
4.单步运行 next
5.继续运行 continue
调试命令:
list(l)查看程序 每次可看十行
(gdb)break 16 表示:Break point 1 at 地址:file test.c,line 16
(gdb)info break 查看断点
(gdb)r 运行并停在第一断点
(gdb)n 继续运行
(gdb)finish 结束函数的调用运行
(gdb)q 退出调试模式
break(b)+行号:在指定行添加断点
break(b)+函数名:在某函数入口处添加断点
break(b)行号 if 条件 当条件为真时,指定断点生效
break+文件名:+函数名/行号 表示在某个文件的函数或具体某行可以设置断点
例如 b 5 if i=10 表示当i=10时 第5行断点生效(这里判断两者相等不能用“==” )
delete+断点编号 删除断点
disable(enable) 断点号 禁用(使能断点)
clear 清除全部断点 clear+行号/函数名 清除具体的断点
display+表达式(显示表达式的结果)
printf(p) 查看指定的变量值
next(n)单步运行程序 不进入函数
step(s)单步运行程序 进入函数
watch 对变量监测 会跟随变化

makefile格式(basic)【图片】

在这里插入图片描述(命令行一定要用【tab】键空一格)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值