1
有一個dll,它包含該函數。char *調用函數**
extern "C" __ declspec (dllexport) int iRun (int argv, char ** argc)
在C#項目中,我連接了dll和實際的問題。 這是可能的,以及如何初始化變量char **?
有一個dll,它包含該函數。char *調用函數**
extern "C" __ declspec (dllexport) int iRun (int argv, char ** argc)
在C#項目中,我連接了dll和實際的問題。 這是可能的,以及如何初始化變量char **?
[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方法的參考。
等一下...爲什麼argv是int和argc是char **? – thang
只是一個壞習慣 - argC as char – ObiSan
我明白了。我認爲通常是argc =參數count(int),argv =參數值(char **) – thang