07-13

vi编译器

命令行模式

进入输入模式

特征 指令 作用
新增 a 从光标所在位置后开始输入
A 从光标所在行最后面开始
插入 i 光标所在位置前
I 光标所在行的第一个非空字符前
开始 o 光标下新增一行
O 光标上新增一行
删除 s 删除光标所在字符并进入输入
S 删除光标所在行并进入输入

底行模式

特征 指令 作用
分屏 vsp /路径/文件名 分屏打开另一个文件
查找 s/str 查找str
高亮 noh 取消高亮
替换 s/str1/str2 将当前行的第一个st1替换为str2
s/str1/str2/g 将当前行的全部str1替换为str2
s/str1/str2/g 将当前行的全部str1替换为str2
1,$ s/str1/str2/g 将全部str1替换为str2

gcc四步编译

(-E -S -c .i .s .o)

  1. 预处理
    展开头文件,删除注释,替换宏定义
    gcc -E hello.c -o hello.i
  2. 编译
    检查语法错误,如果没有错误,生成汇编文件(.s)
    gcc -S hello.i -o hello.s
  3. 汇编
    将汇编文件生成为二进制目标文件(.o)
    gcc -c hello.s -o hello.o
  4. 链接
    链接库文件,生成机器可识别的二进制文件
    gcc hello.o -o hello

冯诺依曼模型的特点

  1. 五大件:存储器,运算器,控制器,输入输出设备
  2. 指令和数据用二进制表示,存储在存储器中可按地址寻访
  3. 指令由操作码和地址码组成
  4. 存储程序(最重要的一点)
  5. 以运算器和控制器作为计算机结构的中心

进制

  1. 二进制(BIN)
  2. 八进制(OCT)
  3. 十进制(DEC)
  4. 十六进制(HEX)

变量

存储类型(决定变量的存储位置)

  1. auto(自动型) :缺省存储类型定义的时候,自动默认auto
  2. static(静态型):延长生命周期,限制作用域
  3. extern(外部引用型):当引用同一程序不同文件内的变量时,需加extern修饰
  4. register(寄存器类型):当变量需要被的多次读取时未提高运行效率,可以定义该类型

数据类型

类型 类型名 字节数(32位) 取值范围
char 字符型 1字节 -2^7 ~ 2^7-1
short 短整型 2字节 -2^15 ~ 2^15-1
int 整形 4字节 -2^31 ~ 2^31-1
long 长整形 4字节 2^31 ~ 2^31-1
float 单精度浮点型 4字节
double 双精度浮点型 8字节
上一篇:String Subtraction


下一篇:C++异常处理