2010-11-18 162 views
9

作爲一個簡單的例子,我有一個C函數接收一個int,增加它並返回遞增的值。在另一端我輸入數字輸入到C#中的文本框。 我該如何調用C函數來處理數字並將它從c#返回?在此先感謝從C#調用c函數#

回答

12

您正在尋找P/Invoke

你確實需要一個參考System.Runtime.InteropServices,然後進行以下操作,如果你的C DLL包含一個名爲increase_int功能:

[DllImport("mylib.dll")] 
private static extern int increase_int(int in_value); 

,並從你的代碼做

int newValue = increase_int(oldValue); 
+0

完美的使用它。 ..嘿喲.. – 2010-11-18 15:12:18

+0

嗨,我無法調試程序,爲什麼控制不會進入被稱爲功能時,超過(F11)...? – 2010-11-20 03:15:58

+0

您無法使用.Net的標準調試機制調試C dll。 – Residuum 2010-11-20 14:14:02