c++ 不同cpp文件的变量怎么互相调用
时间: 2023-05-20 17:03:30 浏览: 699
不同cpp文件的变量可以通过在头文件中声明变量并在需要使用的cpp文件中包含该头文件来实现互相调用。另外,也可以使用extern关键字在需要使用变量的cpp文件中声明该变量,以便在编译时链接到该变量的定义。
相关问题
c++中cpp如何调用另一个cpp
在C++中,一个.cpp文件可以调用另一个.cpp文件的函数或变量。要调用另一个.cpp文件,你需要做以下步骤:
1. 在调用的.cpp文件中,使用#include指令包含要调用的.cpp文件的头文件。例如,如果要调用另一个.cpp文件名为"other.cpp",则可以在调用的.cpp文件中使用#include "other.h"。
2. 在要调用的.cpp文件中,定义你想要被调用的函数或变量。例如,在"other.cpp"中定义一个函数void myFunction()。
3. 在调用的.cpp文件中,可以直接调用在"other.cpp"中定义的函数或变量。例如,在调用的.cpp文件中可以使用myFunction()来调用"other.cpp"中的函数。
需要注意的是,为了确保正确的链接,你需要将两个.cpp文件编译为一个可执行程序。你可以使用编译器将它们编译为一个可执行文件,或者首先将它们编译为目标文件,然后将目标文件链接在一起。
这是一个简单的示例:
other.h:
```cpp
#ifndef OTHER_H
#define OTHER_H
void myFunction();
#endif
```
other.cpp:
```cpp
#include "other.h"
#include <iostream>
void myFunction() {
std::cout << "Hello from other.cpp!" << std::endl;
}
```
main.cpp:
```cpp
#include "other.h"
int main() {
myFunction();
return 0;
}
```
在这个示例中,main.cpp调用了other.cpp中定义的myFunction()函数。在编译和链接这两个文件后,运行可执行文件将输出"Helllo from other.cpp!"。
c调用c++类全局变量
为了在C中调用C++类的全局变量,需要使用extern "C"来声明这个变量。这样可以防止C++编译器对变量名进行修饰,从而使C编译器可以正确地找到这个变量。下面是一个示例代码:
test.h文件:
```cpp
#ifdef __cplusplus
extern "C" {
#endif
extern int g_num;
#ifdef __cplusplus
}
#endif
```
test.cpp文件:
```cpp
#include "test.h"
int g_num = 0;
```
test.c文件:
```c
#include "test.h"
#include <stdio.h>
int main() {
printf("%d\n", g_num);
return 0;
}
```
在这个示例中,test.h文件中使用extern "C"来声明了g_num变量,test.cpp文件中定义了g_num变量,test.c文件中调用了g_num变量并输出了它的值。