VC中如何定义一个让所有源程序都能用的全局变量(对象)
2013-07-17 17:41
543 查看
如何定义一个变量(对象)让VC中所有源程序都能用。这里借助extern来实现。
我们知道extern的用法如是:
如上几步便可以使b.cpp里直接引用a.h里面的a变量和int f()函数(函数前面extern可以省略);
所以,由于在VC中,我们的.cpp文件中都会包含#include
"StdAfx.h",所以,我们可以把一个全局变量分别在StdAfx.h和StdAfx.cpp中声明和定义,这样,我们就可以很方便的使用全局变量了。
附一例(vs2010):
// stdafx.cpp
// 主文件
运行结果:
我们知道extern的用法如是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // a.h extern int a; (extern) int f(); //a.cpp int a = 0; int f() { ……… } //b.cpp #include “a.h” |
所以,由于在VC中,我们的.cpp文件中都会包含#include
"StdAfx.h",所以,我们可以把一个全局变量分别在StdAfx.h和StdAfx.cpp中声明和定义,这样,我们就可以很方便的使用全局变量了。
附一例(vs2010):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | // stdafx.h : 标准系统包含文件的包含文件, // 或是经常使用但不常更改的 // 特定于项目的包含文件 // #pragma once #include "targetver.h" #include <stdio.h> #include <tchar.h> extern int a; extern int testFun(int ax); // TODO: 在此处引用程序需要的其他头文件 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | // stdafx.cpp : 只包括标准包含文件的源文件 // HelloWorld.pch 将作为预编译头 // stdafx.obj 将包含预编译类型信息 #include "stdafx.h" // TODO: 在 STDAFX.H 中 // 引用任何所需的附加头文件,而不是在此文件中引用 int a = 5; int testFun(int ax) { int result = 0; result = ++a; return result; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // HelloWorld.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { cout << ++a << endl; cout << testFun(a) << endl; cout << "Hello World" << endl; return 0; } |
相关文章推荐
- Vue中如何定义一个全局变量(Trick)
- 在VC++MFC下如何定义全局变量和全局函数
- 在 JavaScript 核心语言中,全局对象的预定义属性都是不可枚举的,所有可以用 for/in 循环列出所有隐式或显式声明的全局变量
- 在VC++MFC下如何定义全局变量和全局函数
- 在VC++MFC下如何定义全局变量和全局函数
- VC++如何声明定义全局函数与全局变量
- 静态函数里定义的变量,不为所有对象共享,类的静态变量和类外全局变量区别,静态函数和普通函数区别
- MFC工程中 定义一个变量让所有源程序都能用的最简单的方法
- C\C++小知识: 如何引用一个已经定义过的全局变量 与 全局变量可不可以定义在可被多个.C文件包含的头文件中
- 如何引用一个已经定义过的全局变量 与 全局变量可不可以定义在可被多个.C文件包含的头文件中
- 如何引用一个已经定义过的全局变量?
- 如何引用一个已经定义过的全局变量
- 在VC++MFC下如何定义全局变量和全局函数
- 如何引用一个已经定义过的全局变量 与 全局变量可不可以定义在可被多个.C文件包含的头文件中
- 如何引用一个已经定义过的全局变量 与 全局变量可不可以定义在可被多个.C文件包含的头文件中
- 每日一题(29)—— 如何引用一个已经定义过的全局变量
- 在一个程序中需要用到全局变量(在多个class之间共享数据),请问如何定义具有这种功能的变量?或者是否有其他的方法解决多个class之间的数据共享(尽量简单实现)。 首先应该明确 Java中没有全局变
- Houdini如何定义全局变量
- C语言学习笔记----伊能C语言学习笔记----如何在一个文件中使用另一个文件中定义的变量呢??
- Android开发调试-static静态变量与如何定义全局变量的问题