Hexagon LLVM编译架构介绍(8)
3.4.10 预处理器
参数 | 描述 |
---|---|
-A pred=ans | 断言谓词 pred 并回答 ans 。 |
-A -pred=ans | 取消指定的断言。 |
-ansi | 相当于 -std=c89 。 |
-C | 在预处理期间保留注释。 |
-CC | 在预处理期间保留注释,包括在宏扩展期间。 |
-d(DMN) | D 除了正常输出之外,还以 -E 模式打印宏定义, M 在 -E 模式下打印宏定义而不是正常输出, N 除了正常输出之外,还以 -E 模式打印宏名称 |
-D | 名称 |
-D name=definition | 定义指定的宏符号。 |
-fdollars-in-identifiers | 允许符号 $ 出现在标识符中。 |
-fexec-charset=charset | 指定用于编码字符串和字符常量的字符集。 默认字符集是 UTF-8。 |
-finput-charset=charset | 指定用于编码输入文件的字符集。 默认值为 UTF-8。 |
-fpch-deps | 导致依赖项输出选项额外列出来自预编译头的依赖项的文件。 |
-fpreprocessed | 通知预处理器输入文件已经被预处理。 |
-fno-show-column | 不要在诊断中显示列号。 |
-fstrict-overflow | 为指针算术和有符号溢出强制执行严格的语言语义。 |
-ftabstop=width | 指定制表位距离。 |
-fwide-exec-charset=charset | 指定用于编码宽字符串和字符常量的字符集。 默认字符集是 UTF-32 或 UTF-16,具体取决于 wchar_t 的大小。 |
-fworking-directory | 在预处理器输出中生成线标记。 编译器使用它来确定在预处理期间当前工作目录是什么。 |
–help | 显示预处理器发布版本。 |
-H | 显示标题包含和嵌套深度。 |
-I dir | 将指定的目录添加到头文件的搜索目录列表中。 |
-I | 此选项已弃用。 |
-idirafter dir | 只有在所有当前指定的搜索目录和标准系统目录都搜索完毕后,才能在指定的目录中搜索头文件。 |
-imacros file | 等同于 -include ,除了扫描文件产生的任何输出都将被丢弃。 它定义的宏保持定义。 |
-include file | 包括指定源文件的内容。 |
-iprefix prefix | 指定在后续出现的 -iwithprefix 中使用的前缀。 |
-isystem dir | 在搜索完所有当前指定的搜索目录之后,但在标准系统目录之前,在指定的目录中搜索头文件。 另外,将指定目录标记为标准系统目录。 |
-iwithprefix dir / -iwithprefixbefore dir | 将指定的目录附加到先前使用 -iprefix 指定的前缀(以选项名称指示的方式),并将结果目录添加到包含搜索路径。 |
-M | 输出描述主源文件依赖项的 make 规则。 |
-MD | 等效于 -M -MF 文件,但不暗示 -E。 |
-MF file | 将依赖项写入指定的文件。 |
-MG | 将缺少的标头添加到依赖项列表中。 |
-MM | 等同于 -M ,除了不要提及在系统头目录中找到的头文件。 |
-MMD | 等同于 -MD ,除了只提及用户头文件,不提及系统头文件。 |
-MP | 为每个依赖项创建人工目标。 |
-MQ target | 指定目标以引用依赖项。 |
-MT target | 指定依赖目标。 |
-nostdinc | 省略在标准系统目录中搜索头文件。 |
-nostdinc++ | 省略在特定于 C++ 的标准目录中搜索头文件。 |
-o file | 指定预处理器输出文件的名称。 |
-P | 使用 -E 时禁用 linemarker 输出。 |
-remap | 为仅支持短文件名的文件系统生成代码。 |
-std=standard | 指定生成代码的语言标准。 |
–target-help | 显示所有命令选项并立即退出。 |
-traditional-cpp | 模拟预标准 C 预处理器。 |
-trigraphs | 预处理三字母。 |
-U name | 取消指定宏符号的任何先前定义。 |
-undef | 不要预定义任何特定于系统的宏。 |
-v | 相当于 -help 。 |
-version | 在预处理期间显示预处理器版本。 |
–version | 显示预处理器版本并立即退出。 |
-w | 禁止所有预处理器警告。 |
-Wall | 启用所有警告。 |
-Wcomment / -Wcomments | 如果注释中出现注释符号,则生成警告。 |
-Wendif-labels | 如果#else 或#endif 指令后跟文本,则生成警告。 |
-Werror | 将所有警告转换为错误。 |
-Wimport | 第一次使用#import 时生成警告。 |
-Wsystem-headers | 为系统头文件中声明的构造生成警告。 |
-Wtrigraphs | 如果三字符在注释中形成转义的换行符,则生成警告。 |
-Wundef | 如果未定义的非宏标识符出现在 #if 中,则生成警告指示。 |
-Wunused-macros | 如果宏定义未使用,则生成警告。 |