傢伙,其在WINNT.H快看我發現有一個大量的類型定義的,其中之一是例如CHAR的字符。爲什麼?這些typdefs的目的是什麼?爲什麼不使用已有的東西(char,int等)?
謝謝。爲什麼燒焦的typedef CHAR
2
A
回答
4
的WIN32 API必須與平臺無關,以及。當編譯器針對不同的字大小進行調整時,類型也可能會發生變化。
例如,在16位平臺:
typedef WORD unsigned int;
typedef DWORD unsigned long;
在32位平臺:
typedef WORD unsigned short;
typedef DWORD unsigned int;
這一個例子,你可能會有所不同。
9
Win32 API的需要是語言無關。 typedef綁定到x86處理器上的實際項目大小。因此,CHAR是char,DWORD是無符號long ......這些都是C和C++以外的語言即使使用不同的內存模型也可以「插入」API。
相關問題
- 1. typedef char [4] A和typedef char(&A)[4]之間有什麼區別?
- 2. 爲什麼燒焦<< and char >>中間結果詮釋
- 3. 被燒焦的Java
- 4. 爲什麼需要typedef GLXContext?
- 5. 的NSString燒焦我的[16]
- 6. 背後的語法邏輯是什麼:typedef char AirportCode [4]?
- 7. 爲什麼網關要燒?
- 8. 雙MATLAB的燒焦
- 9. 如何獲得ifr_hwaddr.sa_data燒焦
- 10. C語言:正投燒焦
- 11. C#ToCharArray不燒焦工作*
- 12. Java爲什麼char = char^char與char^= char不同?
- 13. 爲什麼TimeSpan不是Int64的typedef?
- 14. typedef有什麼用?
- 15. Dart中的typedef是什麼?
- 16. 爲什麼編譯器不能區分typedef和non-typedef?
- 17. 這可能嗎? typedef int char?
- 18. typedef結構和枚舉,爲什麼?
- 19. 爲什麼typedef模板非法?
- 20. 爲什麼typedef不能用於靜態?
- 21. 爲什麼typedef沒有強類型?
- 22. 結構名稱爲什麼要有typedef?
- 23. 關於存儲的getchar()的燒焦變
- 24. 演員fpos_t爲int或燒焦
- 25. 爲什麼SQL Server認爲CHAR(49)和CHAR(185)是相同的?
- 26. 爲什麼無法隱式轉換的char **爲const char **
- 27. 嵌套typedef,有什麼不對
- 28. 什麼是char *?
- 29. 鑄造的NSString燒焦問題
- 30. 這個typedef究竟是什麼意思?
要回答他的具體問題,除了對稱性之外沒有任何理由使用CHAR。 – 2010-04-28 17:18:39
@Chris Lutz:還有語義上的差異。 CHAR是一個Windows API數據類型。 'char'是C和C++特定的項目。例如在.Net中,標準的char類型是16位寬。 – 2010-04-28 17:26:37
@Chris Lutz:從理論上講,C++標準沒有要求'char'是8位寬。因此,如果微軟有朝一日會開始支持7位字節的平臺,他們的'CHAR'typedef將派上用場。 – jalf 2010-04-28 19:05:48