我可以用一个宏来检查visual studio中的当前配置类型吗? 根据当前设置,我想要包含main或dllmain函数:
#IFDEF CONFIGURATION_TYPE_EXE
int main(int argc, char **argv)
{
...
}
#ELSEIF CONFIGURATION_TYPE_DLL
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
return TRUE;
}
#ENDIF
答案 0 :(得分:11)
如果它是dll,那么_WINDLL将被定义为继承值。您可以在此处找到它:配置属性 - > C / C ++ - >预处理器 - >预处理器定义。
#ifdef _WINDLL
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{ ... }
#else
int main(int argc, char** argv)
{ ... }
#endif
答案 1 :(得分:8)
如果是DLL项目,将定义_USRDLL
。 (请参阅配置属性\预处理器\预处理器定义)。
但请注意,因为列表由向导填充,如果项目是作为其他项创建的,则不会自动更新,然后将其配置为DLL。此外,如果要构建要与DLL链接的lib,则必须小心。