我建立了一个Win32的DLL项目AAA,在AAA.cpp文件里我加了:
#pragma data_seg ("AAA")
#pragma data_seg ()
... ...AAA.def里我也加了:
SECTIONS AAA READ WRITE SHARED
... ...以前我用MFC的DLL是可以共享的,为什么Win32的DLL就不行了!
#pragma data_seg ("AAA")
#pragma data_seg ()
... ...AAA.def里我也加了:
SECTIONS AAA READ WRITE SHARED
... ...以前我用MFC的DLL是可以共享的,为什么Win32的DLL就不行了!
解决方案 »
- vc调用matlab生成的dll文件
- #import ,#pragma comment ,LoadLibrary
- 使用CMemDC类避免图像闪烁
- 谁能帮我看看这个问题
- 关于读文件的问题,高手请进~
- 创建预编译文件失败(failed to (or don't know how to) build )
- 删除文件时出现的一个奇怪的问题
- ??1bit转8bit,用CreateDIBSection显示到DC上,为什么全黑?
- 回车键为什么不响应OnKeyDown事件? 我new 一个CWnd窗口,在这个窗口上如何响应回车键?????还有如何使鼠标点击按纽失效?????
- 为什么没人理我?是这个问题太难了?太无聊了?我要死了!!!!!
- 经典问题、常见问题解答收集,整理CHM版
- 日期控件 GDI泄露吗?
#pragma data_seg ("AAA")
要共享的数据定义在这里
#pragma data_seg ()
int i = 0;我在DLL每次被调用起来后有都显示输出,然后i++,但结果都是0!奇怪!
_declspec(dllexport)int i;
#pragma data_seg ("AAA")
_declspec(dllexport)int i=0;
#pragma data_seg ()
SECTIONS AAA READ WRITE SHAREDdef不要也可以,在其他程序里要把int i import近来即可,参考做HOOK函数的代码
int iTotal = 0 ;
WCHAR szStrings [MAX_STRINGS][MAX_LENGTH + 1] = { '\0' } ;
#pragma data_seg () #pragma comment(linker,"/SECTION:shared,RWS")
这样是可以的呀
可以了!我在连接器里加了以下:
/DEF:".\AAA.def"并且在.def文件里加了以下:
SECTIONS AAA READ WRITE SHARED为什么会不行?而以前我用MFC的DLL就可以呢?(MFC的DLL本身就带/DEF参数的)