Linux-vim与gdb与make/makefile

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

Linux-vim与gdb与make/makefile_第1张图片

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查看函数堆栈

Linux-vim与gdb与make/makefile_第2张图片

Linux-vim与gdb与make/makefile_第3张图片 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                                

你可能感兴趣的:(vim,linux,编辑器)