-2
我正在編寫一個小應用程序,通過API與外部設備進行通信(均爲64位)。我從指導下面的方法我想使用:C# - 來自非託管代碼的返回類型int *
int* GetRevision(void* cu_ptr, int num)
我試圖做PinVoke
模式:
[DllImport("ABCAPI.dll")]
public static extern IntPtr GetRevision(IntPtr cu_ptr, int num);
而且我試圖IntPtr
複製到一個int數組:
var check = GetRevision(device_cu_ptr, 1);
int[] arr = new int[10];
Marshal.Copy(check, arr, 0, arr.Length);
有沒有更好的方法將c#中的INT*
轉換爲Int[]
?或者我的代碼中可能存在錯誤?
您的最後一句暗示了這個代碼不起作用的事實。如果是這樣,你能解釋爲什麼它不是? – CodeCaster 2014-08-29 10:11:36
可能重複[在C#中的指針,以使int數組?](http://stackoverflow.com/questions/2546706/pointers-in-c-sharp-to-make-int-array) – 2014-08-29 10:13:45
@PaulZahra:發現一個但是,不,不是一個騙局。這主要是關於誤解,而不是如何解決。 – 2014-08-29 10:14:28