2011-08-05 103 views
2

有沒有辦法使用Armadillo's「C++線性代數庫」代碼在C#項目中有lapack?c中的犰狳功能#

能否請你發表一個簡單的例子...

我想獲得一個.dll並將其導入C#項目,這是可行的或有另一種方式去?

回答

2

您可以使用PInvoke feature of .NET(平臺調用)從託管代碼調用本機DLL中的代碼。

根據您的本機DLL中入口點的性質,您可能會考慮添加自己的包裝層,它使用更多的PInvoke友好數據類型。

+1

我不認爲這會起作用,因爲Armadillo是一個C++模板庫 - 即。該代碼不會編譯到共享庫/ DLL中。模板代碼僅在編譯時可用。 – mtall

2

你有源嗎?如果是的話,你可以在託管的C++中編譯它嗎?如果只是數學函數,我看不出做這件事是一項巨大的工作。

一旦你這樣做了,它就像任何其他的託管程序集一樣 - 源語言是無關緊要的。