const变量在另一个文件如何使用
const变量在另一个文件怎么使用文件1:extern const int a12文件2:extern const int a俩个文件怎么连接
const变量在另一个文件怎么使用
文件1:
extern const int a=12;
文件2:
extern const int a;
俩个文件怎么连接的
[解决办法]
这2个都是extern,都是引用的外部变量a,a应该再另外一个地方定义了的吧。。
[解决办法]
extern const int a=12;改为const int a=12;
[解决办法]
++
[解决办法]在同一个工程就能用
[解决办法]只要在同一个工程中,这两个地方的变量就是同一个变量。
[解决办法]C++中 const默认为内部连接 所以使用const相当于把这个变量具备了文件生命周期
所以必须用extern 进行声明 其他地方定义。。。
[解决办法]extern const int a=12;改为const int a=12;
[解决办法]在一个cpp文件中定义,在其他cpp文件中声明,就行了!
[解决办法]在文件1和文件2生成的目标文件中的符号表中都有关于a的信息,他们不同的是,在文件1中会标示出段位置,而在文件2中会标示为UNDEF,当链接器链接两个目标文件时(假设这里只有两个目标文件),那么链接器会将两个目标文件中的段合并,然后进行重定位(就是相对于当前进程地址的偏移量),那么对于那些UNDEF的变量,链接器会查找所有目标文件的符号表,找到引用的变量,找到其地址,然后将所有引用变量的地方填上其地址。