Solaris 动态跟踪指南

C 预处理程序的用法

用于定义 Solaris 系统接口的 C 编程语言包括在 C 程序编译中执行一组初始步骤的预处理程序。C 预处理程序通常用于定义宏替换(在此情况下,C 程序中的某个标记将替换为另外一组预定义的标记),或者用于包括系统头文件的副本。可以通过指定 dtrace -C 选项将 C 预处理程序与 D 程序配合使用。此选项使 dtrace 首先执行程序源文件中的 cpp(1) 预处理程序,然后将结果传递到 D 编译器。C 编程语言中详细介绍了 C 预处理程序。

D 编译器自动装入与操作系统实现关联的 C 类型说明集,但也可以使用预处理程序来包括其他类型的定义,例如您自己的 C 程序中使用的类型。还可以使用预处理程序执行其他任务(如创建将扩展为 D 代码块和其他程序元素的宏)。如果将预处理程序与 D 程序一起使用,则只能使用包含有效 D 声明的文件。一般的 C 头文件仅包括类型和符号的外部声明,这些声明可以由 D 编译器正确解释。D 编译器无法解析包括其他程序元素(如 C 函数源代码)的 C 头文件,将生成相应的错误消息。