What does OBJC_EXPORT keyword in Objective-C mean?
当我使用这个方法
1
|
**OBJC_EXPORT** const char *class_getName(Class cls)
|
如果你 CMD 点击符号,你会看到它不是关键字。
1
|
#define OBJC_EXPORT OBJC_EXTERN OBJC_VISIBLE
|
而
而
基本上是说您可以在外部链接该符号。
这里是完整列表:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#if !defined(OBJC_EXTERN) # if defined(__cplusplus) # define OBJC_EXTERN extern"C" # else # define OBJC_EXTERN extern # endif #endif #if !defined(OBJC_VISIBLE) #if !defined(OBJC_EXPORT) |
如果您有三个分别名为
使用 OBJC_EXPORT 比单独使用 extern 更健壮,它在 objc-api.h 中定义,并且也处理 C 下的编译。这是一个代码示例:
1
2 3 4 5 6 7 8 9 10 11 |
// ClassA.h OBJC_EXPORT NSString* commonString; … // ClassA.m // ClassB.m |
参考:this so post
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/268576.html