-ObjC 一般分类需要使用该编译参数才可以识别
-all_load 如果分类在静态库中那么就需要该参数
-force_load 类库名 由于引用多个静态哭 可能会应为重名问题发生错误,这个时候如果使用-all_load就不是用了,可以使用-force_load有选择的加载
-fno-objc-arc 在arc项目中使用非arc源代码文件,需要在相应的源代码添加该标签
-fobjc-arc 在非arc项目中使用arc源代码文件,需要在相应的源代码添加该标签
$ xcodebuild -project myProj.xcodeproj -target "myTarg" -showBuildSettings 现实setting
NSLog输出的一些宏
##__VA_ARGS__
__VA_ARGS__ 是一个可变参数的宏,很少人知道这个宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。宏前面加 上##的作用在于,当可变参数的个数为0时,这里的##起到把前面多余的","去掉的作用,否则会编译出错
__FILE__ 宏在预编译时会替换成当前的源文件名
__LINE__宏在预编译时会替换成当前的行号
__FUNCTION__宏在预编译时会替换成当前的函数名称