从CPP文件中的C文件访问变量 我有一个程序,我不得不把一些C和C++代码融合在一起。我在C中定义了一些全局变量,我需要在C和C++文件中访问它们,但不能解决。以下是我所拥有的,在C文件中有效,但在CPP中无效:

从CPP文件中的C文件访问变量 我有一个程序,我不得不把一些C和C++代码融合在一起。我在C中定义了一些全局变量,我需要在C和C++文件中访问它们,但不能解决。以下是我所拥有的,在C文件中有效,但在CPP中无效:,c++,c,C++,C,C.h C.C 谢谢, 本 假设问题是“如何在此处访问变量test?” 像这样: #include "C.h" #include <cstring> int TestFunction() { return strcmp(test, "volvo"); } #包括“C.h” #包括 int TestFunction(){ 返回strcmp(测试,“沃尔沃”); } 那么什么不起作用呢?编译器错误?连接器运行时?您在C.h中缺少一个#endif。而且,\u COMMON\u h是非

C.h

C.C

谢谢, 本

假设问题是“如何在此处访问变量
test
?”

像这样:

#include "C.h"
#include <cstring>
int TestFunction() {
  return strcmp(test, "volvo");
}
#包括“C.h”
#包括
int TestFunction(){
返回strcmp(测试,“沃尔沃”);
}

那么什么不起作用呢?编译器错误?连接器运行时?您在
C.h
中缺少一个
#endif
。而且,
\u COMMON\u h
是非法的。@LuchianGrigore:“非法”?哪个司法管辖区通过了反对它的法律?什么是惩罚还是罚款?@StephenCanon我不知道那边是怎么回事,但在这里,取消对空指针的引用将使你得到2到5…这就是我所做的。我不知道为什么它会返回一个空白字符串,但经过清理和重建后,它开始工作了。很奇怪。
#include <windows.h>
#include <stdio.h>
#include "C.h"

char test[100] = "value";
#include "C.h"

int TestFunction() {
    // I need to access variable test here
}
#include "C.h"
#include <cstring>
int TestFunction() {
  return strcmp(test, "volvo");
}