iOS中OBJC_EXPORT的使用

如果您在该符号上按CMD + CLICK,则会看到它不是关键字。 OBJC_EXPORT定义为:

#defineOBJC_EXPORT  OBJC_EXTERN OBJC_VISIBLE

OBJC_EXTERN是extern "C"或extern,这取决于分别编译C ++还是C。

在Windows中,OBJC_VISIBLE是__declspec(dllexport)或__declspec(dllimport),否则是__attribute__((visibility("default"))。

基本上是说您可以在外部链接该符号。

这是完整的清单:#if !defined(OBJC_EXTERN)

#  if defined(__cplusplus)

#      define OBJC_EXTERN extern "C" 

#  else

#      define OBJC_EXTERN extern

#  endif

#endif

#if !defined(OBJC_VISIBLE)

#  if TARGET_OS_WIN32

#      if defined(BUILDING_OBJC)

#          define OBJC_VISIBLE __declspec(dllexport)

#      else

#          define OBJC_VISIBLE __declspec(dllimport)

#      endif

#  else

#      define OBJC_VISIBLE  __attribute__((visibility("default")))

#  endif

#endif

#if !defined(OBJC_EXPORT)

#  define OBJC_EXPORT  OBJC_EXTERN OBJC_VISIBLE

#endif

你可能感兴趣的:(iOS中OBJC_EXPORT的使用)