Linux 学习笔记2

Linux 学习笔记2,第1张

Linux 学习笔记2 一.gdb调试器

gcc -g text.c -o text

gdb text

命令参数

list(l)  查看程序

break(b) 函数名: 在某函数入口处添加断点

break(b) 行号:在指定行添加断点

break(b) 行号 if 条件 当条件为真时,指定行号处断点生效,例b 5 if i=10,当i等于10时第5行断点生效

info break  查看所有设置的断点

delete 断点编号 删除断点

run(r)  开始运行程序

next(n)  单步运行程序(不进入函数)

step(s)  单步运行程序(进入函数)

continue(c) 继续运行程序

print(p) 变量名 查看指定变量值

finish  运行程序,直到当前函数结束

watch 变量名 对指定变量进行监控

quit(q)  退出gdb

start 进入程序第一行

set 设定变量值

clear 删除断点(按行,函数名删除)

enable 断点激活

disable 断点失效

二.工程管理器make

1.概念

通过读入Makefile文件文件的内容来执行大量的编译工。

2.makefile

makefile是make读入的默认配置文件。

编写规则:

a.需要由make工具创建的目标体(target),通常是目标文件或可执行文件;

b.要创建的目标体所依赖的文件;创建每个目标体时需要运行的命令1(command)。

这一行必须以制表符(tab键)开头.

一个Makefile里面有多个目标,但是只能用一个终极目标,且在第一个目标。执行时只能从下往上,和书写顺序相反。有需求目的时,需求写在前,被需求写在后面。

make命令默认在当前目录下寻找名字为makefile或者Makefile的工程文件,如果同时有Makefile和makefile默认为makefile.

当名字不为这两者之一时,可以使用如下方法指定:make –f 文件名.

3.伪目标

Makefile中把那些没有任何依赖只有执行动作的目标称为“伪目标”(phonytargets)。

.PHONY : clean (.PHONY 声明伪目标 clean)

clean :

  rm –f hello main.o func1.o func2.o

4.使用变量

$(变量名)

例:

hello: main.o func1.o func2.o func3.o

       gcc main.o func1.o func2.o func3.o -o hello

使用变量后​​​​​

obj=main.o func1.o func2.o func3.o

hello: $(obj)

   gcc $(obj) -o hello

在makefile中,存在系统默认的自动化变量

$^:代表所有的依赖文件

$@:代表目标

$<:代表第一个依赖文件

例:

hello: main.o func1.o func2.o

  gcc main.o func1.o func2.o -o hello

=》

hello: main.o func1.o func2.o

         gcc $^ -o $@

 

 

补充

函数返回:值的返回和流程返回

goto语句:多层循环嵌套才使用

main函数只能由系统内核调用 C语言没有子函数

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5704052.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存