随笔分类 - 课程 / 编译
摘要:用g++命令执行C++多文件项目 (一)过程执行 C 或者 C++ 程序的执行过程分为 4 步,依次是预处理、编译、汇编和链接。 在执行 C++ 项目时,头文件是不需要经历以上这 4 个阶段的,只有项目中的所有源文件才必须经历这 4 个阶段。 假设,当前项目中有 1 个 student.h 头文件,
阅读全文
摘要:一、预处理(预编译)阶段 1.头文件的包含 2.清除注释 3.宏的替换 4.处理所有的条件编译指令,如#ifdef #ifndef #endif等,也就是带#那些 5.保留#pargma指令 6.添加行号和文件名标识,方便调试使用 此时源程序还是文本文件。这个过程不会检查错误,生成预处理文件xxx.
阅读全文
摘要:一、问题 讨论一种错误:XXX已经在 main.obj 中定义 二、原因 头文件中定义了全局变量或者函数。注意:是定义,不是声明。在.h文件中定义变量和函数本身没有问题。但是如果.h被2个及以上的cpp引用了。或者"另一个.h"引用了这个头文件,而"另一个.h"又被多个cpp引用。都会报这个问题。
阅读全文