我要在C#应用程序(http://quantlib.org/docs.shtml)中使用QuantLib,但我不相信他们的.NET转换项目(太不成熟)。什么是最好的从C#调用QuantLib方法#
我只需要期权评估部分。
任何人在托管应用程序中使用它?最好的方法是什么?
我要在C#应用程序(http://quantlib.org/docs.shtml)中使用QuantLib,但我不相信他们的.NET转换项目(太不成熟)。什么是最好的从C#调用QuantLib方法#
我只需要期权评估部分。
任何人在托管应用程序中使用它?最好的方法是什么?
我在类似情况下所做的是将C++本机dll作为C#和C++项目之间的适配器来实现。 从C#中,您可以使用DllImport访问您的dll界面。 在dll中,您可以访问完整的C++界面,但值得在托管网站上根据您的确切需求进行简化。
例子:
// in the C++ dll:
extern "C" MY_API void SetInput(double* Values, int Count);
// in C#:
[DllImport("MyStuff.dll")]
public extern static void SetInput(double[] Values, int Count);
的C++库C#包装已经上市,并在the QuantLib download page分布(这些包装由jmihalicza建议,不是你指的是在你的问题正在进行的C#端口) 。该分布还包含一个选项评估的例子(查看CSharp/examples文件夹)。
是的。我花了2小时试图编译QL Boost cos boost安装程序无法下载几个zip文件。即使我成功了,我也需要安装swig,然后修补它几天..我完全接受了qlnet ..我根本没有那个时间Luigi。 – 2013-05-06 10:38:42
“一个C++本地dll作为一个适配器”你的意思是C++/CLI项目作为C++本地QuantLib dll的封装......对吧? ...有机会看到代码^ _ ^? – 2013-05-05 00:32:59
是的,它可以是托管的C++包装器,但我认为它使事情变得复杂。我创建了一个普通的C接口。 – jmihalicza 2013-05-05 01:39:39
尽管如此,您将不得不编写相当多的代码才能使QuantLib代码适用于普通的C接口。 – 2013-05-05 11:58:57