11. C 預處理器
- 11.1 這些機巧的預處理宏:
#define begin {
#define end }
你覺得怎麼樣?
- 11.2 怎麼寫一個一般用途的宏交換兩個值?
- 11.3 書寫多語句宏的最好方法是什麼?
- 11.4 我第一次把一個程序分成多個源文件, 我不知道該把什麼放到 .c 文件,
把什麼放到 .h 文件。(``.h" 到底是什麼意思?)
- 11.5 一個頭文件可以包含另一頭文件嗎?
- 11.6 #include <> 和 #include
有什麼區別?
- 11.7 完整的頭文件搜索規則是怎樣的?
- 11.8 我在文件的第一個聲明就遇到奇怪的語法錯誤, 但是看上去沒什麼問題。
- 11.9 我包含了我使用的庫函數的正確頭文件, 可是連接器還是說它沒有定義。
- 11.10 我在編譯一個程序, 看起來我好像缺少需要的一個或多個頭文件。
誰能發給我一份?
- 11.11 我怎樣構造比較字符串的 #if 預處理表達式?
- 11.12 sizeof 操作符可以用於 #if 預編譯指令中嗎?
- 11.13 我可以在 #include 行裡使用 #ifdef 來定義兩個不同的東西嗎?
- 11.14 對 typdef 的類型定義有沒有類似 #ifdef的東西?
- 11.15 我如何用 #if 表達式來判斷機器是高字節在前還是低字節在前?
- 11.16 我得到了一些代碼, 裡邊有太多的 #ifdef。 我不想使用預處理器
把所有的 #include 和 #ifdef 都擴展開, 有什麼辦法只保留一種條件的
代碼呢?
- 11.17 如何列出所有的預定義標識符?
- 11.18 我有些舊代碼, 試圖用這樣的宏來構造標識符
#define Paste(a, b) a/**/b 但是現在不行了。
- 11.19 為什麼宏
#define TRACE(n) printf("TRACE: %d\n", n)
報出警告 ``用字符串常量代替宏"?它似乎應該把
TRACE(count);
擴展為
printf("TRACE: %d\count", count);
- 11.20 使用 # 操作符時, 我在字符串常量內使用宏參數有問題。
- 11.21 我想用預處理做某件事情, 但卻不知道如何下手。
- 11.22 怎樣寫參數個數可變的宏?
翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)