3
NSLog / printf specifier สำหรับ NSInteger?
A NSIntegerคือ 32 บิตบนแพลตฟอร์ม 32 บิตและ 64 บิตบนแพลตฟอร์ม 64 บิต มีตัวNSLogระบุที่ตรงกับขนาดNSIntegerหรือไม่ ติดตั้ง Xcode 3.2.5 llvm 1.6 คอมไพเลอร์(นี่เป็นสิ่งสำคัญ gcc ไม่ทำสิ่งนี้) GCC_WARN_TYPECHECK_CALLS_TO_PRINTF เปิด นั่นทำให้ฉันเสียใจที่นี่: #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { @autoreleasepool { NSInteger i = 0; NSLog(@"%d", i); } return 0; } สำหรับรหัส 32 บิตฉันต้องการตัว%dระบุ แต่ถ้าฉันใช้ตัว%dระบุฉันจะได้รับคำเตือนเมื่อคอมไพล์เป็น 64 …