Oracle Solaris Studio 12.2:C++ 用户指南

A.2.144 –xM

对指定的 C++ 程序只运行 C++ 预处理程序,同时请求预处理程序生成 makefile 依赖性并将结果发送到标准输出(有关 make 文件和依赖性的详细信息,请参见 make(1))。

但是,-xM 只报告包含的头文件的依赖性,而不报告关联的模板定义文件的依赖性。可以使用 makefile 中的 .KEEP_STATE 功能在 make 实用程序创建的 .make.state 文件中生成所有依赖性。

A.2.144.1 示例

例如:


#include <unistd.h>
void main(void)
{}

生成的输出如下:


e.o: e.c
e.o: /usr/include/unistd.h
e.o: /usr/include/sys/types.h
e.o: /usr/include/sys/machtypes.h
e.o: /usr/include/sys/select.h
e.o: /usr/include/sys/time.h
e.o: /usr/include/sys/types.h
e.o: /usr/include/sys/time.h
e.o: /usr/include/sys/unistd.h

交互

如果指定 -xM-xMF,编译器会将所有 makefile 依赖性信息写入使用 -xMF 指定的文件。每次预处理程序向此文件写入时即将其覆写。

另请参见

make(1S)(了解有关 makefile 和依赖性的详细信息)。