像这样返回结构存在问题。并非所有的编译器都以相同的方式返回此类结构。我宁愿将函数声明更改为:
void __declspec(dllexport) ITERATE(struct res* result, double z_r,double z_i, double c_r, double c_i, int iterations, double limit);
这样,该结构就在用户的内存中,并且对如何返回该结构也没有歧义。
当然,正如David所说,您可能必须使用其他调用约定。

像这样返回结构存在问题。并非所有的编译器都以相同的方式返回此类结构。我宁愿将函数声明更改为:
void __declspec(dllexport) ITERATE(struct res* result, double z_r,double z_i, double c_r, double c_i, int iterations, double limit);
这样,该结构就在用户的内存中,并且对如何返回该结构也没有歧义。
当然,正如David所说,您可能必须使用其他调用约定。