visual-studio - 指定 Windows/MFC API 版本所需的标准 Windows 预处理器定义是什么?
问题描述
我正在努力找出 C++/MFC 模块中与 AFX 相关的奇怪错误,我的工作理论是,不同模块的构建方式与 Windows 库相关的方式存在一些差异。
我们在项目文件和头文件中有各种预处理器设置,我想找到此类定义的标准列表,因此我可以轻松搜索所有引用并检查不一致之处。例如,我刚刚发现在一个项目中,我们拥有/D "_WIN32_WINNT=0x0501"
并且 /D "WINVER=0x0601
我们通常在以下方面使用变体:
- WIN32
- _视窗
- _WIN32_WINNT=0x0501
- _VC80_UPGRADE=0x0600
- WINVER=0x0601
- VC_EXTRALEAN
- _AFXEXT
是否有所有常用的列表?是否有标准值的名称而不是使用例如0x0601
Do 其中一些推断/控制其他值,以便我们可以简化项目文件中的更少选项(为什么我们有 WINVER 和 _WIN32_WINNT)?
我担心我会尝试整理这一切,但在我不知道的地方错过了一个定义!
解决方案
推荐阅读
- python - 将 numpy 数组列表转换为 Torch 张量列表
- python - 使用比较运算符处理条件语句中的 NA 值
- python - Plotly:当使用滑块显示顺序直方图时,强制 x 轴范围保持不变
- c - 将按地址传递给函数的指针值与空值进行比较,导致结果相反
- angular - 检查两个对象中的值
- javascript - 数值中的有效数字
- javascript - 地理定位在 TWA 内请求多个权限请求
- python - Python google电子表格更新错误的列
- javascript - 在 Vue Js 客户端 WebSocket 中获取消息
- c++ - 如何计算 B 树中的节点?