QLibray 分段错误



我尝试使用外部库。当我从这个库中调用函数时,它的工作是正确的。但是后来我尝试在循环中调用此函数,我有分段错误。代码例如:

char *snam = (char*) new char;
QLibrary swedll("swedll32.dll");
typedef  char * (*Fct)(int, char *);
Fct fct=(Fct)(swedll.resolve("_swe_get_planet_name@8"));
for(int i=0;i<100;++i)
{
    if (fct) fct(0,snam);
} 

我做错了什么?

typedef char * (*Fct)(int, char *); Fct fct=(Fct)(swedll.resolve("_swe_get_planet_name@8"));

必须更改为

typedef __stdcall char * (*Fct)(int, char *); Fct fct=(Fct)(swedll.resolve("_swe_get_planet_name@8"));

相关内容

  • 没有找到相关文章

最新更新