-
讓我們分別解釋一下。
#define intptr int*
巨集的簡單定義是使用 intptr 而不是 int*。
所有你遇到 intptr 的地方,你都可以用 int* 來理解。
巨集的具體描述太長了,下面我們來看看百科全書是怎麼說的:
c,d;理解了 1,然後 intptr c、d; 它等價於 int*c,d;
那麼可以肯定,型別 c 是 int*,即 int 型別的指標。
請注意,此處的 int*c,d; 這與 int *c 相同; int* d;是不同的(* 的作用域僅限於第乙個變數 c)。
它實際上等同於 int*c; int d;
所以 d 是乙個 int 型別。
-
c 整數指標,d 整數。
一般用法如下:
intptr c;
intptr d;
這樣,兩者都是整數指標。
-
intptr 用於表示特定於平台的指標或控制代碼型別,這些指標或控制代碼對於多執行緒操作是安全的。 c 中的 intptr 型別稱為“特定於平台的整數型別”,它們用於本機資源,例如視窗控制代碼。 資源的大小取決於所使用的硬體和作業系統,但它始終足夠大,以包含指向系統的指標(因此也包含資源的名稱)。
因此,如果您在呼叫的 API 函式中有乙個引數,例如表單控制代碼,則在宣告此函式時應將其顯式宣告為 intptr 型別。
-
巨集只會被 ** 替換,它實際上是 int* c, d,所以 c 是 int*,d 是 int
-
c 是 int*,d 是 int,int* 是需要 d int* 來製作 d int*; int* d;
-
C 是指向 int 變數(或者更確切地說是 int* 型別)的指標,d 是 int 變數。
因為intptr c,d; 相當於 int* c, d; (使用 int* 直接替換 intptr)。
而 int* c, d; 相當於 int *c; int d;
但這似乎不是我們的意圖,因為我們想將 c 和 d 都定義為指標。
因此,我們可以定義 c、d,即 intptr c; intptr d;也就是說,有兩個定義來指示 c 和 d 是指標的型別。
-
它實際上是乙個控制代碼,乙個沒有型別的指標。
非型別化指標不能直接使用,需要傳遞給接受它的函式。
-
託管視窗中的控制代碼,一般用於視窗 api,intptr a=(intptr)1;
-
使用 intptr,以下是轉換為 intptr 模式點 p 的結構; 要傳輸的結構。
int size=;
intptr p=;
p, true);
-
如果 C++ 中有結構體:
strct a
有乙個函式( a **a );
對應於 c structlayout( )。
public struct a
然後我不太確定這兩個**是什麼意思? 如果你是指向指標的指標,則 c 方法應如下所示:
dllimport( "" )
public static extern void function( ref a a );或。
public static extern void function( ref a a );
我不太確定,你試試。 因為 c 中的物件 A 實際上是乙個指標,然後是 ref,所以它是指標的指標。
-
, record, false);
我想這是因為allochglobal在分配的記憶體中分配了隨機內容,無法刪除
如果可以在第二次呼叫時進行刪除,如下所示,記錄,true);
-
1、非託管dll中存在bug,...這是網路呼叫後的錯誤。
2. 使用 x86 和 x64 平台編譯的非託管 DLL。 網路呼叫後也出現此錯誤。
最好的方法是找到編寫 dll 的人,並連續找到兩個人。
-
Const 是乙個 C 關鍵字,用於限定無法更改的變數。
所以,它是 string、ushort、string
c++ c#
word ushort
dword uint
在大多數情況下,可以使用 uchar int byte 代替 int,但如果需要嚴格對齊,則應使用 bytebyte
uchar* string/intptr
unsigned char* [marshalas(?(intptr)
char* string
lpctstr string
lptstr [marshalas( string
long int
ulong uint
handle intptr
hwnd intptr
void* intptr
int int
int* ref int
int intptr
unsigned int uint
colorref uint
define 在編譯階段完成了替換,基本不占用記憶體,並且 sink 會一直占用空間,但 define 只是乙個簡單的替換,很容易造成錯誤。
在定義巨集時,由於要定義的部分必須在一行上,但有時太長,為了便於閱讀,用一行來表示換行符,即下一行也是巨集的一部分。 >>>More