Gdb:调试工作
Gcc:编译工作
1、首先需要用gcc启动被编译程序:gcc -g app.c -o app
2、启动gdb: gdb app
n:重复执行之前的内容
Info break :断点信息
r : 运行
p(print):打印
c (continue):继续下一步程序
l (list) :查看程序
Break(b) 函数名:在某函数入口处添加断点
Break(b) 行号:在指定行添加断点
Start:开始程序第一句
set :设置变量值
clear :清除所有
clear +行号:清除行号所在断点
enable:是该断点有效
disable:使该断点失效
函数返回含义:
- 返回值,返回到主函数
- 流程的返回
可以没有值的返回,但不能没有流程的返回
流程转向:
1、限定性流程转向:break、continue
2、非限定性流程转向:
goto(建议多重循环嵌套时使用)
):右括号带有返回功能
函数的返回是由函数类型决定的
工程管理器:管理较多的文件
Make工程管理器也就是个“自动编译管理器”这里的“自动”是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件的内容来执行大量的编译工作。
Makefile是一个规则文件。
18日任务:Makefile的其他写法
makefile是make读入的唯一默认配置文件,因此本节的内容实际就是讲述makefile的编写规则。
一个makefile中通常包含如下内容:三大组成部分
.PHONY:伪目标申明
Clean是伪目标,需调用: make clean 指令
Client处理方式:
将Client 删了
Script文件什么也别放
Check_putin、pack_message不需要
脚本-shell:
Shell就是一个命令行解释器。
变量名=值
变量赋值时,“=”两边不能有空格
BASH中的语句结尾不需要分号
Char = * argv[] :指针数组 指针数组名为二级变量
Char = (*argv)[]:数组指针
输出:S3
表达式写法:
空的意思是:不确定不知道,故不可用等号判断。
比较相等一定要留空格。
要求输出数字:54321