“FOUNDATION_EXPORT”vs“extern”

我想问一下在Objective C项目中使用FOUNDATION_EXPORT而不是extern的原因。

我已经检查了这个问题 ,使用FOUNDATION_EXPORT获得了340分(第一名),而使用extern只获得了74分(第二名)。

有谁能解释为什么? 使用FOUNDATION_EXPORT而不是extern是否有任何实际的原因?

谢谢!

如果您查看NSObjCRuntime.h(在Foundation中),您将看到FOUNDATION_EXPORT编译为C语言中的extern "C" ,C ++中的extern "C"以及Win32中的其他语句。 所以,它更加兼容。 对于大多数项目来说,这不会有什么区别。