"FOUNDATION_EXPORT" и "extern" - программирование

"FOUNDATION_EXPORT" и "extern"

Я хотел бы спросить, в чем причина использования FOUNDATION_EXPORT вместо extern в проектах Objective C.

Я проверил этот вопрос и используя FOUNDATION_EXPORT заработал колоссальные 340 пунктов (1-е место), а используя extern всего 74 пункта (2-е место).

Может ли кто-нибудь объяснить, почему? Есть ли практическая причина использования FOUNDATION_EXPORT вместо extern?

Спасибо!

4b9b3361

Ответ 1

Если вы посмотрите в NSObjCRuntime.h(в Foundation), вы увидите, что FOUNDATION_EXPORT скомпилируется в extern в C, extern "C" на С++ и другие вещи в Win32. Таким образом, это немного более совместимо. Для большинства проектов это не будет иметь никакого значения.