I would like to ask what's the reason behind using FOUNDATION_EXPORT
instead of extern
in Objective C projects.
I've checked this question and using FOUNDATION_EXPORT
has earned whopping 340 points (1st place) whereas using extern
only 74 points (2nd place).
Could anybody explain why? Is there any practical reason for using FOUNDATION_EXPORT
instead of extern
?
Thanks!
If you look in NSObjCRuntime.h (in Foundation) you will see that FOUNDATION_EXPORT
compiles to extern
in C, extern "C"
in C++, and other things in Win32. So, it's more compatible across languages and operating systems. For many projects, this won't make any difference.