2010-08-23 48 views
0

我已經在VC++中編寫了代碼片段。但是,我無法在VC++中繼續使用其他應用程序,所以想要轉移到C#。在C#中使用C++代碼#

我可以製作一個VC++代碼的dll,並調用VC++編寫的函數來使用C#嗎?

我很不知道,如果這將工作,但我已經看到如何在C#中使用DLL調用本機代碼。

任何人都可以請幫助我。

謝謝。

回答

1

您可以嘗試使用/clr選項將您的C++代碼編譯爲託管代碼,然後直接使用它或使用P/Invoke從託管代碼中調用非託管函數。

+0

我是否需要以某種特定方式編譯非託管代碼,以便從託管代碼調用P/Invoke?你能給我一些鏈接嗎?將感激不盡。 – Jayesh 2010-08-23 07:16:29

+1

@Joy,是的,你需要導出你想使用的函數:http://msdn.microsoft.com/en-us/library/3y1sfaz2(VS.80).aspx'__declspec(dllexport)'。爲了避免名稱損壞,請確保您也使用'extern「C」':http://www.flipcode.com/archives/Creating_And_Using_DLLs.shtml – 2010-08-23 07:20:53

+0

感謝隊友的鏈接。我發現這個鏈接,也許值得一看,http://goo.gl/EIth – Jayesh 2010-08-23 07:27:50