Linux-vim与gdb与make/makefile

三个模式:命令模式 文本模式  底行模式

yum  :instell 安装   remove 卸载

 gcc -o执行后生成文件命名 

gcc 1.c  -o   fst.out

-E预编译  

-S汇编

-c生成机器码

Linux  中 静态库:.a;动态库:.so

Linux默认动态库,想要静态库编译的时候加上 - static

一般来说,linux下编译后的文件是形成release发行版本,如果想要debug发行版本就要在在编译时加上-g指令

gdb指令

n F10

s F11

display -变量  常查看变量变化

P  -变量  临时查看当前数据

display  变量名    查看监视数据

b 行号   :打该行号断点

d 删除断点,看的是断点编号

disable 禁用断点

enable 启用断点  编号

info 查看断点

c(continue)运行到下个断点 

finish 完成该函数

until 运行到当前函数指定行

bt查看函数堆栈

 make

 make是指令,makefile是文件中有依赖关系与依赖方法

在makefile文件中写

make [目标方案];

如果没有写目标方案,就从上到下执行第一条依赖关系。

# make

//makefile中内容:

test:test1.o  //执行这条依赖关系,如果依赖方未生成就会向下继续,直到允许执行才会放回
    gcc -o $@ $^
test.o:test2.s
    gcc -c -o $@ $^
test.o:test.i
    gcc -S -o $@ $^
test.i:test3.c     //存在test.c文件开始编译然后向上,如果有一个地方没有依赖文件就报错
    gcc -E -o $@ $^

make会比对依赖文件与目标文件的modify时间前后,

如果依赖文件的时间早于目标文件,那么就不会生成新的目标文件,touch 已存在文件可以更新时间

如果依赖文件的时间早于目标文件,那么就会生成新的目标文件,

.PHONY:目标文件:执行不在查看文件是否新旧,总是目标文件被执行

 然后再外面就可以直接使用make调用里面的指令

[zjy@VM-12-17-centos class3]$ vim Makefile
[zjy@VM-12-17-centos class3]$ make
gcc mytest.c -o mytest -std=c99
[zjy@VM-12-17-centos class3]$ ls
Makefile  mytest  mytest.c  mytest_nostatic  mytest_static
 1: Makefile+  ⮀                                                             
  1 mytest:mytest.c
  2   gcc mytest.c -o mytest -std=c99
  3 
  4 .PHONY:clean//.PHONY 类似于类型关键字,保证clean总是被执行
  5 clean://必须顶格写
  6   rm -f mytest //必须是tab                                

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云的小站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值