2011-05-09 106 views
35

我想检查一些文件的预处理器的输出。我如何查看Xcode中的预处理器输出?Xcode预处理器输出

+1

由于“预处理”和“显示汇编代码“命令在Xcode 3中可用,我们应该向Apple提供有关Xcode 4的缺陷报告。 – MacMark 2011-05-12 09:00:00

回答

13

的Xcode 4.1现在特征“预处理器或大会输出” 。一切都开心!

+8

这是“产品”>“生成输出”。 – 2011-12-01 10:15:16

+0

当我这样做时,我似乎得到一个空文件。输出实际上是否到了一些不明显的地方? – Uncommon 2012-03-26 18:43:43

+3

它只会显示成功编译后的预处理文件 - 这打破了我的目的,即调试预处理宏... – 2012-04-09 05:37:36

0

我没有找到任何方法。似乎在Xcode 4中缺少“预处理”功能。我没有阅读过苹果公司的任何文档,他们在这里提到了任何有关这方面的信息。

以下URI可以帮助你:http://pilky.me/view/15

+0

当我写上述信息时,这是非常正确的。但我明白这不是一个答案,因为我没有权限添加评论,并且我想让MacMark让他知道他正在寻找的功能缺失。好的,现在上面的信息不再适用于预处理/汇编输出,我现在使用Xcode 4.0.2。用户可以按照Steven Hepting的回答以及选择菜单“Product”,然后选择“Generate Output”选项,然后选择“Generate Preprocessed File”或“Generate Assembly File”。希望这些信息可以帮助用户不要误解上述信息。 – Learner 2011-07-02 11:06:07

+0

我正在使用Xcode 4.0.2(Build 4A2002a),并没有看到您描述的任何选项,也没有看到“产品”菜单(没有任何类型的“生成”项目),也没有看到“小西装和领结”弹出窗口史蒂文赫丁描述。 – SteveCaine 2011-07-22 18:31:46

+1

@SteveCaine:我已经更新了我的Xcode,现在检查了我目前使用Xcode版本4.2(Build 4C104)。产品/生成输出选项可在此处找到。对不起如果我以前的评论给你错误的信息。 – Learner 2011-07-25 17:26:42

3

你可以随时运行从使用-E标志与llvm-gcc在命令行中的文件的预处理器(这是什么的Xcode 4使用作为GCC的替代品)。像这样:

llvm-gcc -E -o output.preprocess input.c 

然后你可以在文本编辑器中打开输出文件。

+1

大多数情况下,仅靠这一点不会削减它;例如,需要定义#include路径。您可能需要深入了解构建日志以确定所有正确的命令行选项,但从理论上讲,这可以帮助您。 – benzado 2011-05-25 18:31:33

40

您可以在工具栏的右上角按钮组中选择“显示助手编辑器”视图。

enter image description here

然后,在右侧编辑器的顶部,你可以点击小Related Files按钮,然后要么选择PreprocessAssembly

enter image description here

可以看到两个预处理器输出的一个例子,生成的汇编代码的所有侧由端的位置:

enter image description here

+1

你甚至可以同时拥有第二个助手编辑器和程序集输出。这样一个真棒功能。 – 2011-07-01 20:13:08

+0

你使用哪个版本的Xcode? – MacMark 2011-07-02 07:53:05

+0

不是我想到的,这个特性可能在Xcode 4.2的预览版中。 – 2011-07-05 18:23:53

1

<菜单栏> - >产品 - >执行动作 - >预处理<文件>

3

@ whoKnows出色的,简洁的答案的名字适用于Xcode的6用户。预处理器菜单似乎从一个Xcode版本到另一个Xcode版本遍地开花。

总括:6的XCode用户可以通过下拉此菜单查看预处理器输出:

Product -> Perform Action -> Preprocess 

如所附截图所示。我在Xcode文档中找不到这个地方。

(我希望这可以帮助我更愿意简单地添加到@ whoKnows的答案评论,但我没有为特权呢。)

screenshot of menu pulldowns for viewing preprocessor output