基本
c源码 ----(编译1v1)----> 对象文件(目标文件 .o) -----(链接n对1)------> 可执行程序
编译形成目标文件, .o文件, 1对1: 此处语法检查
目标文件: 函数 和 变量 的定义
链接过程: 符号检查
可执行程序是将所有的目标文件综合起来
执行
g++ -c main.cpp # 编译文件 ,生成 main.o 文件
nm -c main.o # 查看目标文件, 结果中前面带长数字串的是定义的函数或变量, 其他的是 待链接的标识符(字符、符号)
例如: U _printf 会去系统库链接
错误类型
- 编译阶段: 语法错误
- 链接阶段: 定义错误,若函数只声明未定义,会在此处报错,而不是编译阶段报错
googletest 测试框架
待做。。。
printf 彩色字
\003[…;…;…;m
即 \003[ 或 \e[ 开头, m结束
0 重置所有属性