我有两个文件.一个是C文件,另一个是C++文件.
在main.C
char globalvar = 0;
int main()
{
.....
}
Run Code Online (Sandbox Code Playgroud)
在main.h中
extern char globalvar;
Run Code Online (Sandbox Code Playgroud)
在file2.cpp中
#include "main.h"
int function()
{
globalvar = 5; //ERROR, globalvar is undefined.
...
}
Run Code Online (Sandbox Code Playgroud)
所以基本上我有一个项目是C部分和C++部分.我在main.c中声明了一个全局变量.我已成功地在所有C文件中访问此全局变量,但C++文件无法识别它.
有没有人对正在发生的事情有任何想法?
任何帮助,将不胜感激!
你main.h应该看起来像
#ifdef __cplusplus
extern "C" {
#endif
extern char globalvar;
#ifdef __cplusplus
}
#endif
Run Code Online (Sandbox Code Playgroud)
确保globalvar具有C链接.
| 归档时间: |
|
| 查看次数: |
1598 次 |
| 最近记录: |