linux 外部变量的问题
两个文件
A.cpp
B.cpp
A.cpp里面定义了一个变量num, 编译后生成 libA.so
int num;
class A{
A(){
num = 2;
}
}
B.cpp里面也定义了一个变量num, 编译用的make 文件中引用了libA.so
int num; //注意 前面没有 extern
class B{
、、、
}
问题1,编译B的时候会不会出现变量重复错误
问题2,如果编译通过的话,B用的变量是A的还是B的。也就是说在B里面num的值是2吗
linux下编译好像不会出错,而且使用的是B的变量,很奇怪。Windows下好像会出错,
B里面 变量前面必须加extern