#ifdef和#if defined
来源:互联网 发布:vb for循环 跳出 编辑:程序博客网 时间:2024/06/05 07:58
具体看代码:
#include <iostream>int main(int argc,char **argv){#ifdef _WIN64std::cout<<"It is in _WIN64 OS!"<<std::endl;#endif#ifdef WIN64std::cout<<"It is in WIN64 OS!"<<std::endl;#endif#if defined(WIN64) || defined(_WIN64)std::cout<<"It is in defined(WIN64) || defined(_WIN64) OS!"<<std::endl;#endif#if defined(WIN64) | defined(_WIN64)std::cout<<"It is in defined(WIN64) | defined(_WIN64) OS!"<<std::endl;#endif#ifdef WIN64 || _WIN64std::cout<<"It is in WIN64 || _WIN64 OS!"<<std::endl;#endif#ifdef WIN64 | _WIN64std::cout<<"It is in WIN64 | _WIN64 OS!"<<std::endl;#endif#ifdef _WIN64 || WIN64std::cout<<"It is in _WIN64 || WIN64 OS!"<<std::endl;#endif#ifdef _WIN64 | WIN64std::cout<<"It is in _WIN64 | WIN64 OS!"<<std::endl;#endifreturn 0;}
输出:
分析:
在64位Windows7上安装VS2010。
显然项目中定义了_WIN64而未定义WIN64。所以会有第一行输出。
”#ifdef WIN64 || _WIN64“ 的定义方式是不正确的,当第一个未定义时会输出会和预期不合。只有“#if defined(WIN64) || defined(_WIN64)”的形式才是正确的。所以会有第二行输出。
另外 "||"与“|”是不影响结果的。
- #ifdef 和 #if defined
- #ifdef和#if defined
- #if,#ifdef和#if defined
- #if,#ifdef和#if defined
- #if,#ifdef和#if defined
- #if,#ifdef,#if defined
- #if #ifdef #if defined
- #if/#if defined/#ifdef
- #ifdef #if defined #ifndef和#if !defined区别
- #ifdef和#if defined的差别
- #ifdef 和 #if defined 的区别
- #ifdef和#if defined的差别
- #ifdef 和 #if defined 的区别
- #ifdef和#if defined的异同
- #ifdef和#if defined之间的区别
- #ifdef和#if defined的区别
- #ifdef 和 #if defined 的区别
- ifdef 与if defined
- /输出100-200间的全部素数
- Oracle中ROWNUM的使用技巧
- 关于uploadify的一些心得
- php+mysql开发过程中要有性能控制的概念
- spring的IOC,DI依赖注入和AOP
- #ifdef和#if defined
- android manifest.xml 配置文件 杂
- Myeclipse 和 Eclipse创建web项目的区别
- 彻底为贺老师解决了统计同学分数的问题
- 贺氏银行.
- 单元测试的作用
- [C++] C++编译失败分析例子
- 开发游戏用现代风格场景图片素材下载
- JSP_中的包含