Interpreting C pre pre processor code
问题 Given #define LOG_OBJECT(object) (NSLog(@"" #object @" %@ %@:%d”, [object description], [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__)); The statement LOG_OBJECT(self); will produce: 2014-07-18 17:43:30.041 FrogCamera[12484:2144843] self ViewController.m:20 I wish to understand how the preprocessor code works. How can I see the statement that the pre processor produced? Specifically: Why the whole #define statement is wrapped in ( ) ? Is #object a text replacement for