首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以从DLL导入全局变量?我可以使用DEF文件执行此操作吗?

问是否可以从DLL导入全局变量?我可以使用DEF文件执行此操作吗?
EN

Stack Overflow用户
提问于 2020-04-16 19:00:42
回答 1查看 253关注 0票数 0

在这一点上,gcc没有问题,但我很难用link.exe实现同样的目标。

在dll.c中,我定义

代码语言:javascript
复制
int myint = 0 ;
int myfunc ( .... ) {  ...  } ;

在dll.h中

代码语言:javascript
复制
extern int myint ;
int myfunc ( .... ) ;

在dll.def中

代码语言:javascript
复制
LIBRARY mydll
EXPORTS
    myint
    myfunc

一切正常,dll创建好了,我可以链接它了,我的可执行文件成功地调用了myfunc()。但是我不知道如何告诉链接器myint是一个变量,而不是一个函数。所以当我尝试的时候

代码语言:javascript
复制
myint = 1 ;

应用程序崩溃。

EN

回答 1

Stack Overflow用户

发布于 2020-04-16 19:35:35

如果我没记错的话,使用c++时,您需要显式地导入全局变量(通过函数隐式导入)。我会试试__declspec( dllimport ) int myint;

如果你想在windows上编译,而且你已经在linux下和GCC一起开发了,我可以用mingw在linux上交叉编译,在我看来这要容易得多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61248611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档