首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

const变量在另一个文件如何使用

2013-01-18 
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;
[解决办法]

引用:
引用:
extern const int a=12;改为const int a=12;
++

++

[解决办法]
引用:
引用:
这2个都是extern,都是引用的外部变量a,a应该再另外一个地方定义了的吧。。
我在另外一个地方定义了以后,能够直接在本文件使用这个变量吗,这两个地方的变量什么关系

在同一个工程就能用
[解决办法]
引用:
引用:这2个都是extern,都是引用的外部变量a,a应该再另外一个地方定义了的吧。。
我在另外一个地方定义了以后,能够直接在本文件使用这个变量吗,这两个地方的变量什么关系

只要在同一个工程中,这两个地方的变量就是同一个变量。
[解决办法]
C++中 const默认为内部连接 所以使用const相当于把这个变量具备了文件生命周期

所以必须用extern 进行声明  其他地方定义。。。
[解决办法]
extern const int a=12;改为const int a=12;
[解决办法]
在一个cpp文件中定义,在其他cpp文件中声明,就行了!
[解决办法]
引用:
文件1:
extern const int a=12;
文件2:
extern const int a;
俩个文件怎么连接的

在文件1和文件2生成的目标文件中的符号表中都有关于a的信息,他们不同的是,在文件1中会标示出段位置,而在文件2中会标示为UNDEF,当链接器链接两个目标文件时(假设这里只有两个目标文件),那么链接器会将两个目标文件中的段合并,然后进行重定位(就是相对于当前进程地址的偏移量),那么对于那些UNDEF的变量,链接器会查找所有目标文件的符号表,找到引用的变量,找到其地址,然后将所有引用变量的地方填上其地址。

热点排行