標題stdint.h如何在每臺機器上將u32定義爲32位?有人可以詳細說明stdint.h做到這一點的過程嗎?我在哪裏可以找到我的機器(Windows 7)stdint.h文件?C類型聲明intN_t
1
A
回答
2
stdint.h在C99中(2008版以下的VC++僅實現C89),因此要在Win7機器上安裝此文件,需要安裝VisualStudio 2010(或更高版本)。然後,此文件位於MSVS安裝的「VC \ include \ stdint.h」文件夾中。
MinGW(用於Win32的gcc工具鏈)和Cygwin(用於Windows機器的POSIX層)也在其「include」目錄中包含stdint.h文件。
對於你的問題:uintN_t類型背後的「魔術」通常使用條件編譯來實現。可能會有一些預定義符號(由編譯器),如Windows上的_WIN32和x64目標上的_WIN64。
對於2008年之前的版本的VisualStudio中有一個單獨的stdint.h實現:http://msinttypes.googlecode.com/svn/trunk/stdint.h
3
編譯器工具鏈的C標準庫的提供者將確保該特定部署的正確性。據推測,他們被允許使用任何必要的手段來確保情況確實如此。它可以像知道是否將其定義爲int或long一樣簡單。
+0
'intN_t'總是'typedef'存在時(這些類型是可選的)。 – ouah 2012-07-16 17:02:31
相關問題
- 1. C#匿名類型聲明
- 2. C++抽象類型聲明
- 3. c#聲明子類爲類型超類
- 4. 在類聲明中聲明未知類型c#
- 5. 類名不聲明類型C++
- 6. C++類聲明
- 7. Haskell類型聲明
- 8. 無類型聲明
- 9. 聲明新類型
- 10. Data.Map類型聲明
- 11. Java類型聲明
- 12. 聲明的類型
- 13. 聲明typedef類型
- 14. Storage.prototype.setObject聲明類型
- 15. 空類型聲明
- 16. C++指定與數據類型聲明
- 17. ISO C++禁止聲明''沒有類型?
- 18. ISO C++禁止聲明...沒有類型
- 19. C中的類型聲明(概念)
- 20. 如何在C++中聲明HashMap類型
- 21. C#類型參數爲通用聲明
- 22. 讀取C指針類型聲明
- 23. C++模板變量類型聲明
- 24. C++中的向量聲明類型
- 25. 聲明函數的類型爲struct C++
- 26. iso C++禁止通用類型聲明
- 27. 解析C類型聲明的庫?
- 28. Java泛型 - 類型聲明
- 29. 類未聲明? (C++)
- 30. 類聲明在C++
'stdint.h'在進入POSIX之前來自C99。 – ouah 2012-07-16 17:00:18
好點,我會解決的:) – 2012-07-16 17:00:58