“FOUNDATION_EXPORT” vs “extern”

141

Saya ingin bertanya apa alasan di balik penggunaan FOUNDATION_EXPORTdaripada externdalam proyek Objective C.

Saya telah memeriksa pertanyaan ini dan menggunakan FOUNDATION_EXPORTtelah memperoleh kekalahan 340 poin (posisi 1) sedangkan externhanya menggunakan 74 poin (posisi 2).

Adakah yang bisa menjelaskan mengapa? Apakah ada alasan praktis untuk menggunakan FOUNDATION_EXPORTbukan extern?

Terima kasih!

Rudolf Adamkovič
sumber
12
Anda tidak dapat benar-benar memberikan suara pada jawaban-jawaban itu untuk memilih atau menentang teknik yang mereka sebutkan. Untuk satu hal, jawabannya dengan FOUNDATION_EXPORThampir dua tahun lebih tua dari yang lain!
jscs

Jawaban:

171

Jika Anda melihat di NSObjCRuntime.h (di Foundation) Anda akan melihat bahwa FOUNDATION_EXPORTkompilasi ke externdalam C, extern "C"di C ++, dan hal-hal lain di Win32. Jadi, ini sedikit lebih kompatibel. Untuk sebagian besar proyek, ini tidak akan membuat perbedaan.

Jesse Rusak
sumber
2
Terima kasih banyak! Saya akan terus menggunakan FOUNDATION_EXPORTitu.
Rudolf Adamkovič