gcc对此没有问题,但是我很难用link.exe(visualc)来实现相同的目的
在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 ;
应用程序崩溃。
答案 0 :(得分:0)
如果我没记错的话,使用c ++时,您需要显式导入全局变量(它对函数是隐式的)。我会尝试使用__declspec( dllimport ) int myint;
如果您想为Windows编译并且已经在Linux上使用GCC进行开发,那么我将使用mingw从linux进行交叉编译,我认为这要容易得多。