Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将函数导出到DLL而不使用类_C++_Function_Dllexport - Fatal编程技术网

C++ 将函数导出到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

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

 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);