用于检查配置类型(exe/dll)的宏
Visual Studio: Macro for checking configuration type (exe/dll)
是否有一个宏我可以用来检查当前的配置类型在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
如果是dll,那么_WINDLL将被定义为继承值。你可以在这里找到:配置属性-> C/c++ ->预处理器->预处理器定义。
#ifdef _WINDLL
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{ ... }
#else
int main(int argc, char** argv)
{ ... }
#endif
如果是DLL项目,则将定义_USRDLL
。(参见配置属性PreprocessorPreprocessor定义)。
要小心,因为列表是由向导填充的,如果项目是作为其他东西创建的,然后配置为DLL,则不会自动更新。此外,如果您正在构建要与DLL链接的库,则必须小心。
相关文章:
- enum是C++中的宏变量还是整数变量
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 定义有趣的宏和正则表达式在Z3 C++绑定
- 来自 DLL 的函数调用 [表观调用的括号前面的表达式必须具有(指向-)函数类型]
- 是否可以将带有字符串化运算符的宏转换为 constexpr?
- 如何声明由多个线程调用的 C++ DLL 的内部类,而无需导出类
- 在虚幻引擎中触发C++ dll的事件
- 在使用包含冒号的类似函数的宏时,是什么导致了这种编译器差异?
- 如何编写将展开以定义具有模板参数的对象的宏
- 无法使用 OpenCv 3.4.5 从具有C++ dll 的网络摄像机 (rtsp) 中抓取帧
- 用于创建命名构造函数的宏
- 获取 if 语句以检查定义的宏
- 了解加载库无法加载 DLL 的原因
- PowerShell 使用结构类型参数调用 C++ DLL 的导出函数
- VS2017 #error: : snprintf 的宏定义与标准库函数声明冲突
- 处理 c++ DLL 的异常
- c++ 替换调用对象方法的宏函数
- 在C DLL中定义的宏,并在C#中使用相同
- 用于检查配置类型(exe/dll)的宏