在这一点上,gcc没有问题,但我很难用link.exe实现同样的目标。
在dll.c中,我定义
int myint = 0 ;
int myfunc ( .... ) { ... } ;在dll.h中
extern int myint ;
int myfunc ( .... ) ;在dll.def中
LIBRARY mydll
EXPORTS
myint
myfunc一切正常,dll创建好了,我可以链接它了,我的可执行文件成功地调用了myfunc()。但是我不知道如何告诉链接器myint是一个变量,而不是一个函数。所以当我尝试的时候
myint = 1 ;应用程序崩溃。
发布于 2020-04-16 19:35:35
如果我没记错的话,使用c++时,您需要显式地导入全局变量(通过函数隐式导入)。我会试试__declspec( dllimport ) int myint;
如果你想在windows上编译,而且你已经在linux下和GCC一起开发了,我可以用mingw在linux上交叉编译,在我看来这要容易得多。
https://stackoverflow.com/questions/61248611
复制相似问题