DLL通过DEF导出变量的问题

蒙飞鸿 2013-02-23 09:33:08
目的是要实验"extern和_declspec(dllimport)导进变量的区别"

于是用VC6写了个WIN32的DLL,里面直接定义一个变量形式如int nWin32Dll;没有使用各种导出标识.
然后给工程添加一个DEF,在DEF文件里
LIBRARY "Win32Dll"
EXPORTS
nWin32Dll DATA
编译成DLL.

然后在调用者代码中
#pragma comment(lib,"Win32Dll.lib")
extern int nWin32Dll;

编译提示unresolved external symbol "int nWin32Dll" (?nWin32Dll@@3HA)

如果用extern int _declspec(dllimport) nWin32Dll;的话就能成功使用DLL中变量.

但没有实现我第一句所说的目的.请教怎么实现?
...全文
203 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒙飞鸿 2013-02-24
  • 打赏
  • 举报
回复
实验结果是CONSTANT就可以,DATA不行
jimette 2013-02-23
  • 打赏
  • 举报
回复
http://blog.csdn.net/henry000/article/details/6852521 31.LIBRARY "dllTest" 32.EXPORTS 33.dllGlobalVar CONSTANT 34. ;或dllGlobalVar DATA
蒙飞鸿 2013-02-23
  • 打赏
  • 举报
回复
调用者用extern "C" int nWin32Dll的话,编译器就会去找_nWin32Dll,也不行.

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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