【问题标题】:iOS - printing memory address using PRIx64 in plCrashReporteriOS - 在 plCrashReporter 中使用 PRIx64 打印内存地址
【发布时间】:2010-12-09 01:08:32
【问题描述】:

我正在尝试使用此处找到的代码将 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 位 unsigned int 那么他们为什么不直接使用 %u 呢?

谢谢!

【问题讨论】:

    标签: c ios ios4 macros crash-reports


    【解决方案1】:

    PRIx64 是“X”的宏。

    【讨论】:

      【解决方案2】:

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

      __STDC_FORMAT_MACROS
      

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

      gcc -D__STDC_FORMAT_MACROS foo.c -o foo
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-02-21
        • 1970-01-01
        • 2015-08-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-13
        • 1970-01-01
        相关资源
        最近更新 更多