假设我有一个库项目,定义了XYZ_API
宏,如下所示:
#ifdef XYZ_STATIC
#define XYZ_API
#else
#ifdef XYZ_ACTIVE_PROJECT // macro defined in current project
#define XYZ_API __declspec(dllexport)
#else
#define XYZ_API __declspec(dllimport)
#endif
#endif
什么是导出的符号,哪些应使用XYZ_API
宏标记?例如:
class XYZ_API foo {};
enum class XYZ_API foo {};
template <typename>
class XYZ_API foo {};
......或其他人。