1 #if defined _WIN32 || defined __CYGWIN__ 2 #define DLL_PUBLIC __declspec(dllexport) 3 #else 4 #if defined __GNUC__ 5 #define DLL_PUBLIC __attribute__ ((visibility("default"))) 6 #else 7 #pragma message ("Compiler does not support symbol visibility.") 8 #define DLL_PUBLIC 9 #endif 10 #endif 11 func(void)12int DLL_PUBLIC func(void) { 13 return 0; 14 } 15