Dot-Net
.NET 相當於 size_t
我有一段要移植到 64 位的 .NET 程式碼。這些程式碼基本上是一組對其他 C dll 的 P/Invoke 呼叫。C dll 中的函式之一有一個參數“size_t”。我應該在我的 P/Invoke 簽名中使用什麼數據類型,以便編組工作正常。我正在考慮使用 IntPtr 或 UIntPtr 但有人說它們是 .NET 中的指針等價物,不應該使用它。有誰知道這個的正確類型是什麼?
UIntPtr 會起作用(IntPtr 也可能會起作用,但 size_t 是無符號的,所以 UIntPtr 更合適)
如果 size_t 因平台而異,則必須使用 IntPtr。如果是固定大小的整數,請使用 int、uint 或 long(取決於原始聲明)。