c++多个源文件共用一个全局变量(extern 的用法)
来源:互联网 发布:java使用线程池例子 编辑:程序博客网 时间:2024/06/01 20:27
例子:
头文件:state.h 源文件:state.cpp
其它源文件:t1.cpp t2.cpp t3.cpp, 这些源文件都包含头文件state.h。
需要定义一个全局变量供这些源文件中使用:方法如下
1、在 state.h声明全局变量: extern int a;
2、在state.cpp中定义该全局变量:int a = 10;
这样其它源文件就可以使用该变量啦
这里需要的是“声明”,不是“定义”!根据C++标准的规定,一个变量声明必须同时满足两个条件,否则就是定义:
(1)声明必须使用extern关键字;(2)不能给变量赋初值
extern int a; //声明
int a; //定义
int a = 0; //定义
extern int a =0; //定义
头文件中应使用extern 关键字声明全局变量(不定义),如果这个变量有多个文件用到,可以新建一个cpp,在其中定义,把这个cpp加入工程即可。头文件请不要定义任何变量,那是非常业余的行为……
一般在头文件中申明,用extern, 在cpp中定义。 如果在头文件中定义,如果这个头文件被多个cpp引用,会造成重复定义的链接错误。
头文件只能申明全局变量(extern),不可定义(不推荐使用) .cpp里,在最外层定义即可(int gi),直接引用
如果在.cpp里使用static定义,则该变量只在当前cpp文件中有效,在别的文件中无效
在.h里使用static定义,不会进行编译(.h文件不编译),只会在其每个include的cpp文件中包含编译,相当于在.cpp里使用static 定义。
0 0
- c++多个源文件共用一个全局变量(extern 的用法)
- c++多个源文件共用一个全局变量(extern 的用法)
- c++多个源文件共用一个全局变量(extern 的用法)
- c++多个源文件共用一个全局变量(extern 的用法)(
- c++多个源文件共用一个全局变量(extern 的用法)
- c++多个源文件共用一个全局变量(extern 的用法)
- c++多个源文件共用一个全局变量(extern 的用法)
- c++多个源文件共用一个全局变量(e…
- 全局变量(多个源文件)
- 多个源文件共享一个全局变量
- C/C++ , 几个源文件共用一些全局变量,全局变量的文件应该怎么写?
- c++多个文件中如何共用一个全局变量
- c/c++全局变量在多个源文件中的使用
- 全局变量在多个c文件中公用的方法 extern
- 多文件使用全局变量时extern的规范用法
- gcc用法(编译多个源文件)
- 关于extern声明全局变量的用法
- extern声明全局变量的一些用法
- “Ceph浅析”系列之三Ceph的设计思想
- ldap服务器搭建——ldap_bind: Invalid credentials (49)错误解决
- 系统要迁移机房了,要做啥事情
- js指定多个分割字符分割到同个数组中
- titlebar的使用步骤详细说明
- c++多个源文件共用一个全局变量(extern 的用法)
- 浮点数在计算机中的存储
- C++-字符串操作
- “Ceph浅析”系列之四Ceph的结构
- BZOJ3224 CODEVS4543 普通平衡树 题解&代码
- Git协作流程详解
- [Sqlserver] SQL Server Storage Engine: Data Pages and Data Rows
- Cocos2d_android你所需要知道的一切(下)
- Android 获取手机系统的声音设置管理通知提醒的声音