a/b/zy.cpp中定义的变量 char g_pstrDwgName[256];
该zy.cpp 没有对应的zy.h文件。
现想在a/c/zytest.cpp中使用变量g_pstrDwgName,该怎么办?
该zy.cpp 没有对应的zy.h文件。
现想在a/c/zytest.cpp中使用变量g_pstrDwgName,该怎么办?
解决方案 »
- 使用CStatic::SetBitmap()的图片的载入问题
- adobe的SVGView显示中文的问题
- 求救:client-server的 socket程序,局域网内可以,广域网中失败?
- 怎样更改目录名?
- PS界面模仿问题集__怎样实现图层窗口?
- 谁能告诉我关于pci 8255在vc++里怎么调用啊,谢谢
- 请问BCB中如果使用ATL来实现类厂的认证(Licensed),怎样把认证这一块加进去?直接修改ATL可以吗
- 编程出错,求教
- 谢谢seesi,谢谢你回答了我的第一个问题!不过,我还是不知所措!
- mfc怎么设置Radio Button选中点的颜色
- 最前公司不要VC开发人员,郁闷散分
- ADO连接oracle 9i也是采用“Provider=OraOLEDB.Oracle.1;……”?
可是我的情况是不在同一个目录下面,并且定义变量的cpp文件没有对应的.h文件。谢谢!如何正确声明全局对象(Danny发表于2003-7-22 11:34:04) 通常我们都不太赞成使用全局变量,但有时确实也避免不了。每当使用全局变量或对象时,决不要在头文件中实例化,因为头文件一般都被包含(#include)在几个源文件中。这样,链接器将扫描到相同对象的多个实例并报错。必须在单个源文件中实例化全局变量或对象,只有这样才能保证它只被定义一次,而与工程中使用的源文件数目无关。所有其它的存取该全局对象的源文件和头必须以extern方式来声明。下面是一个例子:// File a.h
/*仅仅声明; x 的定义在另外一个源文件中*/extern int x; struct Counter
{
Counter() {++x;}
~Counter() {--x;}
};// File b.cpp
int x; //定义全局变量// File main.cpp
#include "a.h"
int main()
{
Counter count;
cout<<"value of x is: "<<x;
}两个源文件 b.cpp 和 main.cpp 被单独编译。链接时,链接器确定所有定义在b.cpp文件中对x的引用。
extern cbar g_pstrDwgName[256];当然,连接的时候,链接器要能同时找到zy.obj和zytest.obj才行。