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)