遭遇变态问题----全局变量(200分)

cnss 2005-03-21 11:04:51
在stdafx.h文件中:
struct s_global_var
{
CMainFrame *main_frame;

CMyView *my_view;
CControlView *control_view;
CMyTreeView *tree_view;
};
extern s_global_var global_var;

在stdafx.cpp中:
#include "stdafx.h"
s_global_var global_var;

用的环境是VC 2003中文版.
定义了global_var这个全局变量,在相应类的初始化函数中将this指针赋于这个全局变量的相应子变量.
但当使用它们的时候,四个指针都是NULL,不应该啊,我跟踪看了,在相应类的初始化函数里都成功赋值了.

有一个细节,我把release版本的"全局优化"打开时,运行是完全正常的,只要一关上或使用Debug版(Debug版不能进行"全局优化")就出上面的问题.奇怪的是,刚才我也没改什么,连Release版+全局优化都不管用了,真是中邪了,请问题这是怎么啦.

我把release和debug目录都删了也不行,.ncb.suo文件删了重编译也不行
...全文
168 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xw995 2005-03-22
  • 打赏
  • 举报
回复
我觉得应该这样:extern s_global_var global_var;应该就好了!
BigFanOfCpp 2005-03-22
  • 打赏
  • 举报
回复
你用global_var的成员指向的不是this,而是this指向的地址,我怀疑是你在使用的时候,所谓的this已经指向其它的地址了,那么你的global_var的成员指向的地址自然是NULL了.
我建议你把代码贴出来让大家看看吧.
sboom 2005-03-21
  • 打赏
  • 举报
回复
看看你的代码呀
cnss 2005-03-21
  • 打赏
  • 举报
回复
在stdafx.cpp里有啊:
s_global_var global_var;
Mr-Chen 2005-03-21
  • 打赏
  • 举报
回复
你的全局变量空间分配了吗?
cnss 2005-03-21
  • 打赏
  • 举报
回复
up

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧