编辑器 vim有三种模式:
插入模式:点击I进入
命令模式:点击ESC进入,在命令模式中,删除三个字符(3X),剪切三行(3DD),粘贴(P),复制(yy),撤销(u)
按/进入查找,比如查找fg,按n切换关键字往下,按N切换关键字往上查找。退出编辑(shift+zz)
底行模式:点击shift+:进入,保存并退出(wq),不保存强制退出(q!),直接加数字(10),跳到第10行。
用int 替换char,g代表替换所有(%s/char/int/g),两个文件一起打开(sp+文件夹名)两个文件夹间切换(ctrl+ww或者ctrl+wj切下,ctrl+wk切上)
命令模式中,vim hello.c +10(打开文件并跳到第10行)
配置vim:
路径:vim/etc/vimrc
配置代码:set autoindent 自动缩进
set shift width=4
set tabstop=4 按下tab键,缩进4格
set nu:设置行号
set nonu:取消设置行号。
syntax on:设置高亮(关键字)
编辑器(工具链)gcc:
编译:gcc hello.c 后会生成一个a.out文件,然后编写命令 ./a.out 运行得到运行结果。
也可以给生成的a.out文件改min名,使用命令gcc hello.c -o hello,指定输出wen'文件名为hello.
则输入./hello也可以执行该文件。
接下来是编译的四个步骤(预处理,编译,汇编,连接)。
预处理:处理所有以#开头的代码
#include 头文件展开(复制替换)
#if 0 条件编译,注释(这一部分代码不便于)
#define 宏 替换
gcc -E hello.c -o hello.i(hello.i文本文件)
编译:1.语法检查 2.把c代码翻译成汇编代码
gcc -S hello.i -o hello.s(hello.s 文本文件)
汇编:把汇编语言编译成二进制文件
gcc -c hello.s -o hello.o(hello.o二进制文件)
连接:连接程序程序需要用到的库文件
gcc hello.o -o hello
工程管理器 make命令和makefilewen文件。
核心: Target:dependency
(tab)command
已经创建了hello.c和print.c文件
hello.c:#include<stdio.h>
int main()
{
print();//为自定义函数。
}
print.c:#include<stdio.h>
void print()
{
printf("helloworld!"\n)
首先编写makefile:
make1:hello:hello.c
(Tab )gcc hello.c -o hello
make2:
Target=hello
Object=hello.c
$(Target):$(Object)
gcc $(Object) -o $(Target)
make file:
Target=hello
Object=hello.o
$(Target):$(Object)
gcc $(Object) -o $(Target)
hello.o:hello.c//隐含规则
gcc -hello.c -o hello.o//隐含规则(可以省略不写)
rm *.o hello:删除所有以.o结尾,hello为名的文件。
具体代码格式如下:
clean:
rm *.o hello
.PHONY ——makefile中的伪目标
以clean为例,如果Make完成以后,自己另外定义一个名叫clean的文件,再执行make clean的时候,系统将不会执行rm命令。
为了避免出现这个问题,需要.PHONY:clean,这样就可以执行make clean命令了。