关于共享程序段的问题,在线等待

yingkou 2004-05-08 08:37:41
写了一个DLL并且在A.CPP中定义了一个共享程序段:
#pragma data_seg(".MYDATA")

static HINSTANCE hins=NULL;
static BOOL blViewScreen = FALSE;
static BOOL bFlag=TRUE;

static char szBuf[256];
static char *p=NULL;
static CString msg="";

#pragma data_seg()

#pragma comment(linker,"/SECTION:.MYDATA,RWS")
现在我要在B.CPP中使用共享程序段中的一个变量,应该如何去做?我在B.CPP中用:
extern CString msg;
这样连接的时候出现了:
unresolved external symbol "class CString msg" (?msg@@3VCString@@A)
如何解决?
...全文
21 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xenke 2004-05-09
袁峰说的对,因为不同的进程中相同的地址处的内容一般是不同的,比如第一个进程初始化了上面的p为某个值,那么这个值只是在这个进程中有意义,在第二个进程中虽然p还是那个值,但那里是什么内容呢?只有GOD才知道.另外,既然在A.CPP中是static,在B.CPP中用extern就是语法错误了.
  • 打赏
  • 举报
回复
flyelf 2004-05-08
共享并不意味着从dll中导出,如果在外界需要这个变量,则在dll中首先需要把这个变量导出
  • 打赏
  • 举报
回复
FengYuanMSFT 2004-05-08
Do not use pointer, do not use CString in shared section.
  • 打赏
  • 举报
回复
相关推荐
发帖
进程/线程/DLL
加入

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
帖子事件
创建了帖子
2004-05-08 08:37
社区公告
暂无公告