1.3 编译和链接
编译和链接 compile and link
- 执行编译 complie:
- g++ -c main. cpp
- 生成目标文件 object:main.o
- 执行链接 link
- g++ main. o mul.o -o mul
- 生成可执行文件,将函数库头文件等链接起来
- 一步到位执行编译和链接
- g++ main.cpp mul.cpp -o mul
错误类型
- 三大类
- 编译错误
- 常常由语法造成
- 链接错误
- 函数名写错
- 比如大小写问题,大小写要区分
- 函数名写错
- 运行时错误 Runtime error
- 如除零异常
- 编译错误
1.4 预处理和宏 preprocessor and macros
- 编译的步骤
- 预处理在编译之前进行
- 处理预处理指令
- 程序首部,用
#号
开头的
- 程序首部,用
- 预处理指令用预处理器处理,与编译器无关
- 预处理后,交给编译器进行编译
- 出错会发生
编译错误
- 处理预处理指令
- 宏:是由
# define
指令定义的- 如# define PI 3.14
- 意思是进行全文替换,全部代码的 PI 都为 3.14
- 如# define PI 3.14
- 预处理在编译之前进行
1.5 输入和输出
- cout 的定义
- ==std :: ostream cout;==
- ostream:output stream 输出流
std ::
- name space 命名空间
- 用于防止重名
- 在不同的命名空间下可以使用相同的命名
- name space 命名空间
Cout 后接两个尖括号:cout<< “hello”<< endl ;
- 尖括号为 operator 运算符
- cout 是一个定义函数
- 故后面的运算符可以看作一个
函数调用
- 一次函数调用的返回值依然是 cout
- 也可以进行
链式调用
,后面接大量 operator
- 故后面的运算符可以看作一个
- endl:endline
- 用于输出一个换行符
Cin 有着类似定义
- inputstream
- 符号为 cin>> a >> endl
如何通过命令行与程序交互
- 如 g++,就是使用命令行参数进行的程序交互
Comments NOTHING