以下两个步骤
1。
在任何一个文件中定义,一般在XXXAPP.CPP中。
例:int g_Data;
2。
在XXXAPP.H或STDAFX.H中写外部变量。
例:extern int g_Data;
1。
在任何一个文件中定义,一般在XXXAPP.CPP中。
例:int g_Data;
2。
在XXXAPP.H或STDAFX.H中写外部变量。
例:extern int g_Data;
解决方案 »
- 如何判断一个函数已经执行了一次
- ON_WM_DROPFILES()?调试时没运行为甚麽?
- 怎样往下写呢?
- 发现微软一个bug.(Date Time Picker控件的焦点) 有什么好的方法解决,请教高手
- 使用Gdi+中的Image,如何知道Save之后的大小?
- ATL3.0用_Module.m_hInst求HINSTANCE,在ATL7.0中该怎么办?
- 到底哪个耐心的高手能告诉我:要能在VC下面运行DOM,要做哪些事情?
- 关于开缓冲区大小的问题
- 求VC++ 6.0的MSDN library
- CDaoRecordSet问题,给80分
- 怎样在VC中得到VBScript函数的返回值
- 我已经等了很久----一个关于atl的小问题。
1:在.h文件中只能是extern 声明变量,并不分配空间!
2:在.cpp文件中才定义变量分配空间!
3:另外记住少用全局变量
4: extern 的作用只是告诉编译器此出的变量是外部引用,
在连接时(link)统一分配一次空间!
呵呵,穷的冒汗!
typedef struct
{
unsigned int RAM; //缓冲区大小
unsigned int frag; //频率
unsigned int lab; //A B通道 A=0 B=1
} AVEall;
typedef struct
{
unsigned int vol; //电压 0=100V 1=10v ...10MV
BOOL ModeAD; //交直流AC DC DC=1
} AVEpar;extern AVEall AVE;
extern AVEpar typeAVE_A;
extern AVEpar typeAVE_B;
extern WORD adca[1024*64];
extern WORD adcb[1026*64];
编译时无法通过
MainFrm.obj : error LNK2001: unresolved external symbol "unsigned short * adcb" (?adcb@@3PAGA)
MainFrm.obj : error LNK2001: unresolved external symbol "unsigned short * adca" (?adca@@3PAGA)
MainFrm.obj : error LNK2001: unresolved external symbol "struct AVEall AVE" (?AVE@@3UAVEall@@A)
MainFrm.obj : error LNK2001: unresolved external symbol "struct AVEpar typeAVE_A" (?typeAVE_A@@3UAVEpar@@A)
MainFrm.obj : error LNK2001: unresolved external symbol "struct AVEpar typeAVE_B" (?typeAVE_B@@3UAVEpar@@A)
Debug/SoftwAVE.exe : fatal error LNK1120: 5 unresolved externals
之前要保证已经有以下定义
AVEall AVE;
其它的一样;