1樓:Shiwei Wang
首先問題描述有點問題:
要麼是「常數」,要麼是「巨集」。
1,如果是常數,那當然各個平台都一樣
2,如果是巨集,不同平台可能不同。記得有個巨集,char-bits什麼的,對現在一般CPU來說值是8,如果碰到某種特殊用途處理器,值就可能不是8了
2樓:薛非
c裡面庫標頭檔案定義的常數如 limit.h裡某個巨集值,無論什麼機器都是同乙個值嗎?這個問題提得有些毛病。
limits.h和庫檔案沒關係,庫是庫,limits.h是limits.h。庫是二進位制檔案,limits.h是文字檔案。
limits.h是編譯器自帶的,和機器是兩個概念。
不同的編譯器下limits.h中的巨集很可能是不同的,因為limits.h中的巨集是實現自己確定的。
至於如果是浮點數字的話
云云,就絕對是半吊子不懂裝懂的賣弄了。limits.h和浮點數無關,只定義和整數型別有關的巨集。
3樓:Kevin Wang
有些限制在不同的硬體平台上不同的話,會根據不同平台分別定義的。 下面是個不太恰當的例子
/* Define the size of 2k pagesize */
#ifdef _M_AMD64
#define _2K_PAGESIZE 2048LL#else /* _M_AMD64 */
#define _2K_PAGESIZE 2048L#endif /* _M_AMD64 */
為什麼c 要「在標頭檔案中宣告,在原始檔中定義」?
Coder 為什麼不推薦在標頭檔案中定義函式或者變數呢,只建議在標頭檔案中宣告變數和函式.要記住,每當你用乙個 include的時候,你就是把那個標頭檔案的內容搬到 include的位置 pragma once的作用是 在同乙個檔案中多次include同乙個標頭檔案的時候,保證該標頭檔案內容只被替換...
c 能否把所有要用的標頭檔案在某乙個標頭檔案中全inlcude了,然後其他檔案只用include這個
qugx0528 每個cpp都是乙個編譯單元,編譯時生成多個obj檔案,在link的時候,也會極大的拖慢速度。有這麼一種情況,我有乙個很大的UI介面,其對應的實現 操作類也很龐大,我想把他們分解到多個cpp實現中。這樣就產生了這麼乙個問題 代表ui的標頭檔案會在每個cpp中被include一次,這樣...
C語言或者C 語言標頭檔案的意義是什麼,現代編譯器能否把這個給優化掉?
乙個小機械人 emmm暫時沒學到標頭檔案的真正意義,只從個新手的角度說通常你可以寫個include來簡化標頭檔案。但這樣做就很容易會出現莫名其妙有時還很難察覺的歧義錯誤,題主認為該怎麼解決這樣的問題呢? Kira 看了好幾個回答,都沒有回答到點上。可以看看我回答的另乙個類似的標頭檔案問題,裡面詳細講...