1
我有一些調用C#委託作爲回調的本機C/C++代碼。傳遞動態數組參數的最佳做法是什麼?實際上,C指針是struct
的數據成員,我將結構傳遞給回調函數。編組動態數組到C#委託(回調)
使用IntPtr
做類似的事情可以嗎?
struct Data {
... (other data members)
double* array;
int size;
};
陣列是一個指針,指向在我的C++代碼(只是爲了new
或malloc
呼叫)分配的數組。在C#方委託期望
struct Data {
... (other data members)
IntPtr array;
int size;
}
我擔心的是...應該IntPtr
使用Marshal.AllocHGlobal
被分配的內存或者是它也是安全的,如果它在我的C++代碼(new
或malloc
)內存分配?