请问.cpp文件如何调用.c文件中定义的一个变量(extern TYPE xxx貌似不行)

时间:2022-10-21 20:12:00
一个.c文件调用另外一个.c文件里定义的某个变量,用extern TYPE xxx 
如果.cpp文件调用.c文件中声明的函数,在.c文件中使用extern C

但是在.cpp文件中调用.c文件里定义的某个变量 , 出现错误 说无法解析的外部符号 (该变量)

环境:VS2005  

不知道该怎么解决啊

4 个解决方案

#1


lz是指直接在一个cpp文件中使用一个c文件中定义的变量吗?
如果是。。。
那么肯定使用不了。

你可以把这个变量放在头文件中,然后cpp引用这个头文件

#2


头文件中声明,比如
extern "C" 
{
    extern int i;
}
C文件include头文件并且定义,int i = 0;

CPP文件include头文件调用

#3


引用 2 楼 jackyjkchen 的回复:
头文件中声明,比如
 extern "C"
 {
     extern int i;
 }
 C文件include头文件并且定义,int i = 0;

 CPP文件include头文件调用


正解

#4


最好的做法,放在头文件中

#1


lz是指直接在一个cpp文件中使用一个c文件中定义的变量吗?
如果是。。。
那么肯定使用不了。

你可以把这个变量放在头文件中,然后cpp引用这个头文件

#2


头文件中声明,比如
extern "C" 
{
    extern int i;
}
C文件include头文件并且定义,int i = 0;

CPP文件include头文件调用

#3


引用 2 楼 jackyjkchen 的回复:
头文件中声明,比如
 extern "C"
 {
     extern int i;
 }
 C文件include头文件并且定义,int i = 0;

 CPP文件include头文件调用


正解

#4


最好的做法,放在头文件中