关于DLL间数据共享的问题

[复制链接]
查看11 | 回复7 | 2021-1-27 05:51:43 | 显示全部楼层 |阅读模式
比如利用
#pragmadata_seg("Shared")
doubletest=2.1;
#pragmadata_seg()
#pragmacomment(linker,"/section:.SharedDataName,rws")
在程序的一个CPP文件里面定义了共享数据段,其中有test,我想要在一个同工程下的DLL项目中使用test应该怎么操作?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:51:43 | 显示全部楼层
在h文件里
externdoubletest;
回复

使用道具 举报

千问 | 2021-1-27 05:51:43 | 显示全部楼层
是在EXE对应的头文件里面加externdoubletest吧?我查了一下,用extern"c"__declspec(dllexport)test的话又是在什么情况下呢?
回复

使用道具 举报

千问 | 2021-1-27 05:51:43 | 显示全部楼层
引用1楼的回复:在h文件里
externdoubletest;

说反了,是DLL对应的头文件里面么?
回复

使用道具 举报

千问 | 2021-1-27 05:51:43 | 显示全部楼层
说反了,是DLL对应的头文件里面么?
是的,导出,导入声明。

回复

使用道具 举报

千问 | 2021-1-27 05:51:43 | 显示全部楼层
引用4楼的回复:说反了,是DLL对应的头文件里面么?
是的,导出,导入声明。

为什么使用的时候会出错,提示不能解析的外部变量
回复

使用道具 举报

千问 | 2021-1-27 05:51:43 | 显示全部楼层
你这个所说的使用指的是什么
如果想从dll中导出数据需要加extern"c"__declspec(dllexport)
回复

使用道具 举报

千问 | 2021-1-27 05:51:43 | 显示全部楼层
引用6楼的回复:你这个所说的使用指的是什么
如果想从dll中导出数据需要加extern"c"__declspec(dllexport)

比如我在一个DLL中定义了一个共享数据节,而后想在另外的DLL或者EXE里面使用这个数据,我确实声明了extern"c"__declspec(dllexport),在另外的DLL中使用的时候用了__declspec(dllimport),编译的时候提示不能解析的外部变量
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行