extern 使用别的cpp文件中的宏
时间: 2024-04-15 18:27:00 浏览: 97
一个工程有.cpp,.h等很多文件怎么连接在一起
在C++中,`extern`关键字用于声明一个全局变量或函数的存在,并且表示该变量或函数是在其他文件中定义的。不过,`extern`关键字不能用于声明宏。
宏是在预处理阶段展开的,而不是在编译阶段处理的。因此,宏在编译期间没有实际的存在,无法通过`extern`来引用。`extern`关键字用于声明具有实际存储位置的全局变量或函数。
如果你想在多个cpp文件中共享宏定义,可以将宏定义放在一个头文件中,并在需要使用宏的cpp文件中包含该头文件。这样,在预处理阶段,宏定义会被展开到每个cpp文件中。
例如,你可以创建一个名为"macro_definitions.h"的头文件,并在其中定义宏:
```cpp
// macro_definitions.h
#define MAX(a, b) ((a) > (b) ? (a) : (b))
```
然后,在需要使用该宏的cpp文件中包含该头文件:
```cpp
#include "macro_definitions.h"
int main() {
int result = MAX(10, 5);
// ...
return 0;
}
```
这样,你可以在多个cpp文件中使用相同的宏定义。记得在每个cpp文件中都包含"macro_definitions.h"头文件。
阅读全文