【发布时间】:2014-05-02 19:57:48
【问题描述】:
我的代码中有几个调试功能,当指定构建标志 -release 时,所有调用都替换为 NULL(为了性能);例如:
self.condition ? NULL : NULL;
第一个和第二个 NULL 是在预处理中被替换的函数调用。
我的问题是,如果有的话,它会编译成什么?我正在使用 Apple 的 LLVM 5.1;显然对我们来说这是一个无操作,所以这是否意味着它不会从该行生成任何指令?我希望是这样,因为没有充分的理由实际执行任何事情。
【问题讨论】:
-
检查反汇编,这是唯一确定的方法。
标签: ios objective-c gcc clang llvm