„FOUNDATION_EXPORT” a „extern”

141

Chciałbym zapytać, jaki jest powód używania FOUNDATION_EXPORTzamiast externw projektach Celu C.

Sprawdziłem to pytanie i używając zdobyłem FOUNDATION_EXPORTaż 340 punktów (1 miejsce), używając externtylko 74 punktów (2 miejsce).

Czy ktoś mógłby wyjaśnić dlaczego? Czy jest jakiś praktyczny powód, aby używać FOUNDATION_EXPORTzamiast extern?

Dzięki!

Rudolf Adamkovič
źródło
12
Tak naprawdę nie można przyjąć głosów na te odpowiedzi, aby głosować za lub przeciw technikom, o których wspominają. Po pierwsze, odpowiedź z FOUNDATION_EXPORTjest prawie dwa lata starsza od drugiej!
jscs

Odpowiedzi:

171

Jeśli spojrzysz na NSObjCRuntime.h (w Foundation), zobaczysz, że FOUNDATION_EXPORTkompiluje się externw C, extern "C"w C ++ i innych rzeczach w Win32. Jest więc trochę bardziej kompatybilny. W przypadku większości projektów nie ma to żadnego znaczenia.

Jesse Rusak
źródło
2
Wielkie dzięki! Będę FOUNDATION_EXPORTwtedy nadal używać .
Rudolf Adamkovič