我已经使用 Visual C++ 2010 在 c++ 中构建了一个简单的 dll,并尝试在 excel 中使用它。项目名称为“SwapFunDLL”,源文件名称为“swapmain”,包含类及其函数的头文件名称为“DateNTime”。我已将它们附在下面。代码接受两个值,然后使用类函数将它们相乘,然后返回乘积(我意识到类和函数不是必需的,我这样做只是为了学习)。该函数编译时没有错误,但是当在 excel 中使用该函数时,我得到一个值错误。有人可以帮我看看我做错了什么谢谢。
标题:
// DateNTime.h
//Avoid need of .Def file
#ifdef SwapFunDLL_EXPORTS
#define SwapFunDLL_API __declspec(dllexport)
#else
#define SwapFunDLL_API __declspec(dllimport)
#endif
namespace DateNTime
{
class SwapFunDLL_API Date
{
double x,y;
public:
double datediff(double,double);
};
double Date::datediff(double x, double y)
{
return x*y;
}
}
源文件:
#include "DateNTime.h"
namespace DateNTime
{
double returndates(double a, double b)
{
Date Date;
return Date.datediff(a,b);
}
}
Excel宏:
Declare Function SwapFunDLL _
Lib "C:\Users\MIKE\Desktop\c++ tial programs\SwapFunDLL\Debug\SwapFunDLL.dll" _
(ByRef x As Double, ByRef y As Double) As Double