2010-05-17 101 views

回答

7

當您想使用C#的本機庫時,您不需要.lib文件。在.NET中處理的方式是使用平臺調用(P/Invoke)。我建議你遵循MSDN上的教程,這將讓你開始:

Platform Invoke Tutorial

如果你想生成一個包裝,你可能想看看P/Invoke Interop Assistant上CodePlex上。請注意,此工具適用於原始的C/C++代碼。使用.dll文件創建包裝是不可行的,因爲本地DLL不存儲導出函數的簽名(如this thread中所述),並且lib文件將以特定於編譯器的方式存儲簽名。

+0

並且.lib文件至少可以幫助我創建一個包裝? – Rella 2010-05-17 10:23:26

+1

如果你只有一個.lib和.h文件,你可以爲這個lib創建一個dll包裝器,導出你需要的函數。 – 2010-05-17 12:54:29

+0

@Stephen Cleary:由於這是關於使用來自C#的本地代碼,lib文件將不再需要。您將需要的是方法簽名和包含該方法的本機dll的名稱。 – 2010-05-17 13:42:53

相關問題