在CoreFoundation框架中的CFBase.h头文件中,有定义一个 double类型的kCFCoreFoundationVersionNumber
CF_EXPORT double kCFCoreFoundationVersionNumber;那么这个CF_EXPORT是什么意思? 根据stackoverflow解释说在Mac OS和iOS中,CF_EXPORT被定义为#define CF_EXPORT extern. extern告诉编译器,这个符号是一个外部的,可以被其他的代码进行连接.
然后下面定义了一大堆的宏
#if TARGET_OS_IPHONE #define kCFCoreFoundationVersionNumber_iPhoneOS_2_0 478.23 #define kCFCoreFoundationVersionNumber_iPhoneOS_2_1 478.26 #define kCFCoreFoundationVersionNumber_iPhoneOS_2_2 478.29 #define kCFCoreFoundationVersionNumber_iPhoneOS_3_0 478.47 #define kCFCoreFoundationVersionNumber_iPhoneOS_3_1 478.52 #define kCFCoreFoundationVersionNumber_iPhoneOS_3_2 478.61 #define kCFCoreFoundationVersionNumber_iOS_4_0 550.32 #define kCFCoreFoundationVersionNumber_iOS_4_1 550.38 #define kCFCoreFoundationVersionNumber_iOS_4_2 550.52 #define kCFCoreFoundationVersionNumber_iOS_4_3 550.52 #define kCFCoreFoundationVersionNumber_iOS_5_0 675.00 #define kCFCoreFoundationVersionNumber_iOS_5_1 690.10 #define kCFCoreFoundationVersionNumber_iOS_6_0 793.00 #define kCFCoreFoundationVersionNumber_iOS_6_1 793.00 #define kCFCoreFoundationVersionNumber_iOS_7_0 847.20 #define kCFCoreFoundationVersionNumber_iOS_7_1 847.24 #define kCFCoreFoundationVersionNumber_iOS_8_0 1140.1 #define kCFCoreFoundationVersionNumber_iOS_8_1 1141.14 #define kCFCoreFoundationVersionNumber_iOS_8_2 1142.16 #define kCFCoreFoundationVersionNumber_iOS_8_3 1144.17 #define kCFCoreFoundationVersionNumber_iOS_8_4 1145.15 #define kCFCoreFoundationVersionNumber_iOS_8_x_Max 1199 #define kCFCoreFoundationVersionNumber_iOS_9_0 1240.1 #define kCFCoreFoundationVersionNumber_iOS_9_1 1241.11 #define kCFCoreFoundationVersionNumber_iOS_9_2 1242.13 #define kCFCoreFoundationVersionNumber_iOS_9_3 1242.13 #define kCFCoreFoundationVersionNumber_iOS_9_4 1280.38 #define kCFCoreFoundationVersionNumber_iOS_9_x_Max 1299 #endif