今天主要学习了vim,gcc,Makefile,gdb,shell等内容:
1.vim的三个模式:命令行模式;插入模式;底行模式。
在相关模式下的一些命令,如:命令行模式下的shift+G(最后一行);shift+g(第一行);yy复制行等
2.gcc的编译过程:1’预处理:处理所有以#开头的代码,比如头文件处理等
2’编译:语法检查,将C语言翻译成汇编语言
3’汇编:将汇编语言编译成二进制文件
4’链接:把文件和所需的库文件连接起来
以编译a.c文件为例:
预处理 gcc -E a.c -o a.i
编译 gcc -S a.i -o a.s
汇编 gcc -c a.s -o a.o
链接 gcc a.o -o a
ps:linux没有后缀之分
3. gdb:gcc a.c -o a -g对a.c进行调试
常用gdb命令:r 运行程序;l 列出源码;b设置断点;c继续执行;info b 查看断点信息;p查看变量值;q退出gdb调试;
delete b删除断点
next 往下一步运行,但不进入被调函数中
step 往下一步运行,可进入被调函数中
4.Makefile文件:
make是命令,一个文件夹最好只有一个Makefile
格式; target file : dependence file
(加一个TAB键)commod
伪目标 .PHONY
5.shell:命令解析器
vim a.sh
编辑shell时需在首行加入:
# #! /bin/bash