Visual Studio:用于检查配置类型的宏(exe/dll)

发布于 2024-12-09 08:19:19 字数 354 浏览 0 评论 0原文

我可以使用宏来检查 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

Is there a macro I can use for checking the current configuration type in visual studio?
Depending on the current setting I'd like to either include a main or dllmain function:

#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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

窝囊感情。 2024-12-16 08:19:19

如果它是dll,那么_WINDLL将被定义为继承值。您可以在这里找到它:配置属性-> C/C++->预处理器->预处理器定义。

#ifdef _WINDLL
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{ ... }
#else
int main(int argc, char** argv)
{ ... }
#endif

If it's dll then _WINDLL will be defined as inherited value. You can find it here: Configuration Properties -> C/C++ -> Preprocessor -> Preprocessor Definitions.

#ifdef _WINDLL
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{ ... }
#else
int main(int argc, char** argv)
{ ... }
#endif
裂开嘴轻声笑有多痛 2024-12-16 08:19:19

如果是 DLL 项目,则将定义 _USRDLL。 (请参阅配置属性\预处理器\预处理器定义)。

但要小心,因为该列表是由向导填充的,如果该项目是作为其他内容创建的,然后配置为 DLL,则该列表不会自动更新。另外,如果您正在构建要与 DLL 链接的库,则必须小心。

If it's a DLL project, the _USRDLL will be defined. (see Configuration Properties\Preprocessor\Preprocessor definitions).

Be careful though, because the list is filled by wizard and will not update automatically if the project was created as something else and then configured as DLL. Also, you have to be careful if you are building a lib to be linked with a DLL.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文