0

我正在尝试使用此处找到的代码将 plCrashReporter 包含在我的 iPhone 应用程序中:

http://plcrashreporter.googlecode.com/svn/tags/plcrashreporter-1.0/Documentation/API/example_usage_iphone.html

我的一个问题发生在这一行:

 NSLog(@"Crashed with signal %@ (code %@, address=0x%" PRIx64 ")", report.signalInfo.name,
       report.signalInfo.code, report.signalInfo.address);

出现错误:

error: expected `)' before 'PRIx64'

我试着四处寻找,但找不到任何东西。想法?report.signalInfo.address 是一个 64 位无符号整数,那么他们为什么不直接使用 %u 呢?

谢谢!

4

2 回答 2

2

PRIx64 是“X”的宏。

于 2010-12-09T07:55:36.080 回答
0

@mark 是对的,但是这种更改相当具有侵入性,特别是如果您希望您的代码可以在其他应用程序中重用。相反,您应该确保定义了以下宏(可以在编译行完成,无需修改源代码):

__STDC_FORMAT_MACROS

例如,你的编译行应该是这样的:

gcc -D__STDC_FORMAT_MACROS foo.c -o foo
于 2011-06-09T20:01:04.000 回答