我发现自己调试STL港口为Android。它始终使用许多(10-100?)预处理器指令来决定预处理器实际输出的代码。大量的#if
和#ifdef
块。
是否有可用的工具可以运行这些工具并显示实际发送给编译器的文本?是否有可能看到预处理器的输出?
我发现自己调试STL港口为Android。它始终使用许多(10-100?)预处理器指令来决定预处理器实际输出的代码。大量的#if
和#ifdef
块。
是否有可用的工具可以运行这些工具并显示实际发送给编译器的文本?是否有可能看到预处理器的输出?
在GCC中,使用gcc -E source.c
仅显示预处理器的输出。
相同的叮当,我相信。
对于其他编译器,请参阅手册。这应该明确记录。
哇,我不能相信我错过了这个!谢谢。一个简单的问题是:在读取输出时,是否只有不以'#'开头的行被发送到编译器? – 2012-01-10 22:29:09
@AdamS:不是。编译器仍然需要其余指令来生成错误消息中正确的文件名和行号输出。 – 2012-01-10 22:31:53