在程序编译的时候,头文件不参与编译,源文件单独编译(VC),但编译源文件时,会展开其包含的头文件
2011-02-22 09:30
495 查看
这里的顺序主要是为了宏定义的问题,例如:
//example.h
#ifndef _EXAMPLE_
#define _EXAMPLE_ 10
#endif
//example.cpp
#define _EXAMPLE_ 20
#include "example.h"
因为先编译example.cpp 所以_EXAMPLE_ 先被定义成20,然后展开example.h,因为_EXAMPLE_ 已经被定义,所以_EXAMPLE_ 不会被定义成10
//example.h
#ifndef _EXAMPLE_
#define _EXAMPLE_ 10
#endif
//example.cpp
#define _EXAMPLE_ 20
#include "example.h"
因为先编译example.cpp 所以_EXAMPLE_ 先被定义成20,然后展开example.h,因为_EXAMPLE_ 已经被定义,所以_EXAMPLE_ 不会被定义成10
相关文章推荐
- 包含别人的dll,然后我们用类库再次封装成dll的时候的注意事项;源文件与模块生成时的文件不同;创建调试信息文件 ··PDB时发生意外的错误,进程无法访问文件,因为另一个程序正在使用此文件
- #include"" 在头文件之前包含其他头文件与在源文件前包含头文件有什么区别
- [C/C++] VC2012编译的程序在WinXP下报告“指定的可执行文件不是有效的 Win32 应用程序”错误
- cmd下nmake编译c++文件提示找不到VC下面的头文件
- VC直接编译数据文件到程序中。
- VC中编译有C源文件的程序
- C语言学习11:typedef和define区别,头文件的使用以及 <>和“”区别,宏定义中#和##的用法,条件编译,gcc和c99中宏定义使用printf和sprintf,条件编译避免头文件包含
- gcc程序编译时添加头文件和库文件时需注意的一个地方
- ROS知识(16)----如何编译时自动链接同一个工作空间的其他包的头文件(包含message,srv,action自动生成的头文件)
- 添加源文件、头文件编译程序,报error LNK2001: unresolved external symbol
- 如何添加有新扩展名的文件,使之能当作C/C++源文件而被VC编译处理
- VC++ 6.0中建立和运行包含多个文件的程序的方法(转载)
- 在头文件之前包含其他头文件与在源文件前包含头文件有什么区别 #include“”
- 5,将本章的例2.4改写为一个多文件的程序: (1)将类定义放在头文件arraymax.h中; (2)将成员函数定义放在源文件arraymax.cpp中; (3)主函数放在源文件filel.cpp中。
- Java源文件编译出错:类文件包含错误的类 请删除该文件或确保文件位于正确的类路径子目录中
- 让VC编译出来的程序不依赖于msvcr80.dll/msvcr90.dll/msvcr100.dll等文件
- VC 工程中包含 .c 或cpp文件编译时产生的.pch预编译头错误(C1853)
- 编写ArcEngine程序时候,VC++ 需要的头文件
- 编译界面程序时提示没有包含指定头文件globalhmi.h
- 程序中引入库文件的头文件 编译时并不需要显示的用gcc去链接他的库文件 why?