[英]What is sa_family_t
我正在關注Beej的網絡編程指南 ,我正在使用VC ++ 2010,但是當我將結構復制粘貼到我的程序中時,一些類型會出現錯誤的標識符。 例如:
u_int32_t
就是這樣,經過一番搜索,我發現那些是1999年左右的C語言中的舊類型。我本來可以包含stdint.h ,但這需要我記住它們的含義。 相反,我使用標准int
,它是32位長(4字節),而對於其他64位長(8字節),我使用long long int
。
無論如何,我正在縮小到我的上一個語法錯誤,它說sa_family_t
是一個無效的sa_family_t
。 我不知道它應該是什么,搜索沒有任何結果。 這是我的問題,我不知道我應該為那個類型標識符指定什么。
困擾我的另一件事是: char __ss_pad1[_SS_PAD1SIZE];
SS_PAD1SIZE
事件也以紅色顯示為無效。
sa_family_t應該是無符號整數。 Windows標頭文件不符合該標准。 Winsock.h定義sockaddr結構如下:
struct sockaddr {
u_short sa_family; /* address family */
char sa_data[14]; /* up to 14 bytes of direct address */
};
因此,要編譯代碼,您需要自己輸入def sa_family_t。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.