C++ 将函数导出到DLL而不使用类
有没有办法只将函数导出到DLL中?在教程中,它们总是使用以下内容导出类:C++ 将函数导出到DLL而不使用类,c++,function,dllexport,C++,Function,Dllexport,有没有办法只将函数导出到DLL中?在教程中,它们总是使用以下内容导出类: static __declspec(dllexport) double Add(double a, double b); 在类内部,上面的语句不会引起任何问题,但如果没有类,它会给出: dllexport/dllimport requires external linkage 问题是“静态”限定符。您需要删除它,因为在这种情况下它意味着错误的事情。试试看: __declspec(dllexport) double
static __declspec(dllexport) double Add(double a, double b);
在类内部,上面的语句不会引起任何问题,但如果没有类,它会给出:
dllexport/dllimport requires external linkage
问题是“静态”限定符。您需要删除它,因为在这种情况下它意味着错误的事情。试试看:
__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);