c裡面庫標頭檔案定義的常數 如 limit h裡某個巨集值,無論什麼機器都是同乙個值嗎?

時間 2021-06-02 18:52:28

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 看了好幾個回答,都沒有回答到點上。可以看看我回答的另乙個類似的標頭檔案問題,裡面詳細講...