2013-01-17 64 views
1

有一個dll,它包含該函數。char *調用函數**

extern "C" __ declspec (dllexport) int iRun (int argv, char ** argc) 

在C#項目中,我連接了dll和實際的問題。 這是可能的,以及如何初始化變量char **?

+0

等一下...爲什麼argv是int和argc是char **? – thang

+0

只是一個壞習慣 - argC as char – ObiSan

+0

我明白了。我認爲通常是argc =參數count(int),argv =參數值(char **) – thang

回答

1
[DllImport("Your.dll")] 
internal static extern Int32 iRun(Int32 argv, out IntPtr argc); 

IntPtr argc; 
Int32 result = iRun(argv, out argc); 
String argcString = Marshal.PtrToStringAnsi(argc); 

看看Marshal.PtrToStringAnsi方法的參考。