“ FOUNDATION_EXPORT” กับ“ extern”


141

ฉันอยากจะถามว่าอะไรคือเหตุผลเบื้องหลังการใช้FOUNDATION_EXPORTแทนที่จะเป็นexternในโครงการObjective C

ฉันได้ตรวจสอบคำถามนี้แล้วและการใช้งานFOUNDATION_EXPORTได้รับคะแนนสูงสุด 340 คะแนน (อันดับที่ 1) ในขณะที่ใช้externเพียง 74 คะแนน (อันดับที่ 2)

มีใครอธิบายได้ไหม มีเหตุผลในทางปฏิบัติสำหรับการใช้FOUNDATION_EXPORTแทนexternหรือไม่?

ขอบคุณ!


12
คุณไม่สามารถรับคะแนนจากคำตอบเหล่านั้นเพื่อลงคะแนนหรือต่อต้านเทคนิคที่พวกเขาพูดถึง สำหรับสิ่งหนึ่งคำตอบFOUNDATION_EXPORTนั้นเก่ากว่าอีกสองปี!
jscs

เกี่ยวข้อง: stackoverflow.com/questions/17668018/…
justin

คำตอบ:


171

หากคุณดูใน NSObjCRuntime.h (ในมูลนิธิ) คุณจะเห็นว่าFOUNDATION_EXPORTคอมไพล์เป็นexternC, extern "C"C ++ และอื่น ๆ ใน Win32 ดังนั้นมันจึงเข้ากันได้มากกว่า สำหรับโครงการส่วนใหญ่สิ่งนี้จะไม่สร้างความแตกต่าง


2
ขอบคุณมาก! ฉันจะใช้FOUNDATION_EXPORTต่อไป
Rudolf Adamkovič
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.