MinGW支持吗__declspec(dllexport)
/__declspec(dllimport)
?即使是这样,我应该使用__attribute__((visibility("default")))
?基本上我应该根据平台或编译器来决定使用什么?
应该是这样吗?
#ifdef _MSC_VER
# ifdef MYLIB_EXPORTS
# define MYLIB_API __declspec(dllexport)
# else
# define MYLIB_API __declspec(dllimport)
# endif
#else
# define MYLIB_API __attribute__((visibility("default")))
#endif
或者像这样?
#if defined(_WIN32) || defined(_WIN64)
# ifdef MYLIB_EXPORTS
# define MYLIB_API __declspec(dllexport)
# else
# define MYLIB_API __declspec(dllimport)
# endif
#else
# define MYLIB_API __attribute__((visibility("default")))
#endif
那么像这样的事情呢?__declspec(align(16))
Vs. __attribute__((aligned(16)))
?
可见性对比dllexport 是一个平台的东西,而不是编译器的东西。所以使用__declspec(dllexport)
/__declspec(dllimport)
(or __attribute__((dllexport))
/__attribute__((dllimport))
)使用 MinGW 是正确的选择。看:http://gcc.gnu.org/wiki/Visibility#How_to_use_the_new_C.2B-.2B-_visibility_support http://gcc.gnu.org/wiki/Visibility#How_to_use_the_new_C.2B-.2B-_visibility_support
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)