標題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. Java類型聲明
- 6. Data.Map類型聲明
- 7. 無類型聲明
- 8. 聲明typedef類型
- 9. Storage.prototype.setObject聲明類型
- 10. 聲明的類型
- 11. 空類型聲明
- 12. 讀取C指針類型聲明
- 13. C#類型參數爲通用聲明
- 14. ISO C++禁止聲明...沒有類型
- 15. C++模板變量類型聲明
- 16. C++指定與數據類型聲明
- 17. C++中的向量聲明類型
- 18. C中的類型聲明(概念)
- 19. ISO C++禁止聲明''沒有類型?
- 20. Java泛型 - 類型聲明
- 21. 類未聲明? (C++)
- 22. 類聲明在C++
- 23. 無法爲Kubernetes API類型聲明聲明Kind類型
- 24. 前置聲明型和「非類類型已經被聲明爲類型」
- 25. 聲明包含C++類型ivar的obj-c類接口
- 26. Ada類型聲明語義
- 27. 新類型聲明函數?
- 28. 未聲明類型adter'swift build'
- 29. Map.lookup - 類型聲明錯誤
- 30. 數組的類型聲明
'stdint.h'在進入POSIX之前來自C99。 – ouah 2012-07-16 17:00:18
好點,我會解決的:) – 2012-07-16 17:00:58