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

1.5 输入和输出

  • cout 的定义
    • ==std :: ostream cout;==
  • ostream:output stream 输出流
  • std ::
    • name space 命名空间
      • 用于防止重名
      • 在不同的命名空间下可以使用相同的命名

Cout 后接两个尖括号:cout<< “hello”<< endl ;

  • 尖括号为 operator 运算符
  • cout 是一个定义函数
    • 故后面的运算符可以看作一个函数调用
      • 一次函数调用的返回值依然是 cout
      • 也可以进行链式调用,后面接大量 operator
  • endl:endline
    • 用于输出一个换行符

Cin 有着类似定义

  • inputstream
  • 符号为 cin>> a >> endl

如何通过命令行与程序交互

  • 如 g++,就是使用命令行参数进行的程序交互