2013-05-05 3 views
2

Я использую QuantLib в приложении C# (http://quantlib.org/docs.shtml), но я не верю их проекту преобразования .NET (слишком незрелым).Что лучше всего назвать методами QuantLib из C#

Мне нужна только часть оценки вариантов.

Кто-нибудь использовал его в управляемом приложении? Какой лучший подход?

ответ

2

То, что я сделал в аналогичной ситуации, это реализация родной DLL C++ в качестве адаптера между проектами C# и C++. С C# вы можете получить доступ к вашему интерфейсу dll с помощью DllImport. В 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); 
+0

«C++ родная DLL как адаптер», вы имеете в виду проект C++/CLI в качестве оболочки для C++-родной библиотеки QuantLib ... правильно? ... любой шанс увидеть код^_ ^? –

+0

Да, это может быть управляемая C++-оболочка, но я думаю, что это усложняет ситуацию. Я создал простой интерфейс C. – jmihalicza

+0

Вам придется написать довольно много кода для адаптации кода QuantLib к простому интерфейсу C. –

0

C# обертками для библиотеки C++ уже доступны и распространяются на the QuantLib download page (эти обёртки как предложено jmihalicza, не продолжающаяся C# порт, который вы имеете в виду в вашем вопросе) , В дистрибутиве также содержится пример оценки опций (смотрите в папке CSharp/examples).

+0

да. Я потратил 2 часа на то, чтобы скомпилировать QL с помощью Boost cos boost, который не смог загрузить несколько почтовых индексов. даже если мне это удастся, мне нужно будет установить swig, а затем возиться с ним в течение нескольких дней .. Я взял qlnet в конце концов .. У меня просто нет времени Luigi. –

Смежные вопросы