将函数导出到不带类的DLL

Export function to DLL without class

本文关键字:DLL 函数      更新时间:2023-10-16

有没有办法只将函数导出到DLL中,因为在教程中,他们总是使用以下内容导出类:

 static __declspec(dllexport) double Add(double a, double b);

在类内部,上面的语句不会引起任何问题,但如果没有类,它会给出:

 dllexport/dllimport requires external linkage

问题在于"static"限定符。你需要删除它,因为它在这种情况下意味着错误的事情。试试看:

__declspec(dllexport) double Add(double a, double b);

这就是编译DLL时头文件中需要的内容。现在要从使用DLL的程序访问函数,您需要有一个包含以下内容的头文件:

double Add(double a, double b);

如果使用#ifdefs:,则可以同时使用相同的头文件

#ifndef MYDLL_EXPORT
  #define MYDLL_EXPORT
#endif
MYDLL_EXPORT double Add(double a, double b);