`

C++ 编译期 检测编译环境(32位 / 64位)

    博客分类:
  • C++
c++ 
阅读更多
以下内容摘自:http://stackoverflow.com/questions/1505582/determining-32-vs-64-bit-in-c
// Check windows
#if _WIN32 || _WIN64
#if _WIN64
#define ENVIRONMENT64
#else
#define ENVIRONMENT32
#endif
#endif

// Check GCC
#if __GNUC__
#if __x86_64__ || __ppc64__
#define ENVIRONMENT64
#else
#define ENVIRONMENT32
#endif
#endif


MSDN有关预定义变量的页面:http://msdn.microsoft.com/en-us/library/b0084kay.aspx
_WIN32Defined for applications for Win32 and Win64. Always defined.
_WIN64Defined for applications for Win64.


还有什么_M_AMD64之类关于CPU架构的宏定义请参考MSDN。
分享到:
评论

相关推荐

    心率失常 算法,诊断心率失常的最有效的方法,C/C++

    在STM32上实现心率算法,需要熟悉其开发环境,如STM32CubeMX用于配置外设和生成初始化代码,Keil uVision或IAR Embedded Workbench进行编译和调试。此外,C/C++编程语言的熟练掌握至关重要,因为它提供了高效且灵活...

    C++test使用手册

    1. **环境配置**:首先,需要在开发环境中安装并配置C++test插件。对于Visual Studio用户,可以通过插件市场直接下载并安装C++test的VS插件。 2. **创建测试项目**:在IDE中创建一个新的C++test项目,设置源代码...

    C++11标准发布文档

    6. 构建期表现加强:C++11通过加强编译时的类型推导(例如auto关键字的引入)以及模板元编程等特性,提升了编译期的灵活性和效率。 7. 可用性加强:新增的特性如基于范围的for循环、lambda表达式、初始化列表、强...

    北邮C++小学期坦克大战代码及报告

    C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持面向过程的编程,也支持面向对象的编程的程序设计语言。它以其强大的功能和高效的性能被广泛应用于系统软件、游戏开发、图形处理等领域。在坦克大战...

    c++ 飞机大战练习

    - **编译时和运行时检查**:C++的模板元编程和运行时类型信息(RTTI)可以在编译期或运行期提供额外的安全检查。 4. **飞机大战游戏具体实现**: - **飞机模型**:每个飞机可以是一个类,包含位置、速度、生命值...

    C++ 11 学习总结文档

    4. **宏和预定义宏**:C++11包含了来自C99的一些宏,并定义了一些新的预定义宏,如`__STDC_HOSTED__`、`__STDC_VERSION__`等,这些宏可用于检测编译环境的信息。 5. **`auto`关键字**:`auto`原本用于声明自动存储...

    自动化C++开发(基本成型版)

    - **静态数学运算**:利用模板元编程实现编译期的数学计算。这不仅可以提高性能,还能确保在编译期间捕获到潜在的数学错误。 - **静态选择结构**、**静态循环结构**:这些都是模板元编程中常见的控制结构,允许在...

    C++11新特性:一般化常量表达式和constexpr.pdf

    C++11 新特性:一般化常量表达式和constexpr 是 C++11 中的一项重要新特性,它们使得编译器可以在编译期执行更多的优化和检查,从而提高代码的性能和可移植性。 一般化常量表达式是一个概念,它指的是在编译期可以...

    C++中国技术大会2022年资料

    C++编译期编程的过去、现在和未来探讨了如何利用静态类型系统和编译器的特性进行早期错误检测和性能优化。同时,针对现代C++的基于性能的重构优化,如RCU(Read-Copy-Update)无锁编程和风险指针(Hazard Pointers)...

    C++经典面试100题

    `sizeof`是编译期运算符,它会计算出`unsigned long`类型的字节数。因此,`int id[sizeof(unsigned long)];`实际上定义了一个固定大小的整型数组,其大小等于`unsigned long`类型的字节数。 #### 8. 某文件中定义的...

    20121128武器创建与C++之间的关系.txt

    - **性能优化**:C++的编译期优化和内存管理机制,使开发者能够精确控制资源的分配和释放,这对于实时渲染密集型任务如武器特效和物理碰撞检测尤为重要。 ### 注册与初始化 在`GameFactory.cpp`的`initgamefatory...

    c++语言参考.pdf

    C++语言是一种静态类型、编译式、通用的编程语言,广泛应用于软件开发领域,包括操作系统、嵌入式系统、游戏开发、高性能服务器与客户端、实时物理模拟等。 **词法约定**: - 标记和字符集:C++程序是由一系列标记...

    C++程序设计课程学习(希赛教育)

    - **Visual C++ 6开发环境简介**:简要介绍了Visual C++ 6这一集成开发环境的基本功能和使用方法。 #### 第二章 C++语言基础 - **简单的C++程序**:介绍了C++程序的基本结构,包括预处理指令、主函数等组成部分。 ...

    自动化 C++程序设计.pdf

    - **静态循环结构**:展示了如何利用模板元编程技术模拟循环结构,从而在编译期生成代码。 - **运算结果的保存**:介绍了如何存储和利用模板计算的结果。 - **规范化静态整数四则运算**:提出了标准化的方法来实现加...

    c++模版元编程

    当我们将模板技术应用于编写可在编译期执行的代码时,这就形成了模板元编程。 #### 模板元编程的优势 1. **性能优化**:由于计算是在编译时完成的,因此运行时不需要执行这些计算,从而提高了程序的运行效率。 2. ...

Global site tag (gtag.js) - Google Analytics