文档章节

区分操作系统的一些宏

小熊猫大暴走
 小熊猫大暴走
发布于 2011/11/10 20:03
字数 347
阅读 255
收藏 0
转自:http://blog.csdn.net/immcss/archive/2009/02/12/3881827.aspx

 

编码的时候经常要用到条件编译,每次都到网上去查比较浪费时间,今天总结一下以备后用

    编译器
        GCC
        #ifdef  __GNUC__
            #if __GNUC__ >= 3 // GCC3.0以上
        Visual C++
        #ifdef  _MSC_VER(非VC编译器很多地方也有定义)
            #if _MSC_VER >=1000 // VC++4.0以上
            #if _MSC_VER >=1100 // VC++5.0以上
            #if _MSC_VER >=1200 // VC++6.0以上
            #if _MSC_VER >=1300 // VC2003以上
            #if _MSC_VER >=1400 // VC2005以上
        Borland  C++
        #ifdef  __BORLANDC__
    UNIX
        UNIX
        #ifdef  __unix
        or
        #ifdef  __unix__
        Linux
        #ifdef  __linux
        or
        #ifdef  __linux__
        FreeBSD
        #ifdef  __FreeBSD__
        NetBSD
        #ifdef  __NetBSD__
    Windows
        32bit
        #ifdef  _WIN32(或者WIN32)
        64bit
        #ifdef  _WIN64
        GUI  App
        #ifdef  _WINDOWS 
        CUI  App
        #ifdef  _CONSOLE
        Windows的Ver … WINVER
        ※ PC机Windows(95/98/Me/NT/2000/XP/Vista)和Windows CE都定义了
            #if (WINVER >= 0x030a) // Windows 3.1以上
            #if (WINVER >= 0x0400) // Windows 95/NT 4.0以上
            #if (WINVER >= 0x0410) // Windows 98以上
            #if (WINVER >= 0x0500) // Windows Me/2000以上
            #if (WINVER >= 0x0501) // Windows XP以上
            #if (WINVER >= 0x0600) // Windows Vista以上
        Windows 95/98/Me的Ver … _WIN32_WINDOWS
            MFC App、PC机上(Windows CE没有定义)
            #ifdef  _WIN32_WINDOWS
            #if (_WIN32_WINDOWS >= 0x0400) // Windows 95以上
            #if (_WIN32_WINDOWS >= 0x0410) // Windows 98以上
            #if (_WIN32_WINDOWS >= 0x0500) // Windows Me以上
        Windows NT 的Ver … _WIN32_WINNT
            #if (_WIN32_WINNT  >= 0x0500) // Windows 2000以上
            #if (_WIN32_WINNT  >= 0x0501) // Windows XP以上
            #if (_WIN32_WINNT  >= 0x0600) // Windows Vista以上
        Windows CE(PocketPC )
        #ifdef  _WIN32_WCE
        Windows CE … WINCEOSVER
        Windows CE
        WCE_IF
        Int ernet Explorer的Ver … _WIN32_IE 
    Cygwin
        Cygwin
        #ifdef  __CYGWIN__
        32bit版Cygwin(现在好像还没有64bit版)
        #ifdef  __CYGWIN32__
        MinGW(-mno-cygwin指定)
        #ifdef  __MINGW32__

© 著作权归作者所有

小熊猫大暴走

小熊猫大暴走

粉丝 42
博文 276
码字总数 267492
作品 0
海淀
程序员
私信 提问
C语言编译预处理技术一本道来

编译&&预处理.png 一个.C程序,从人懂到计算机懂的流程 编译流程.png 分别简述 预编译(不会去报错,没有真正的到达编译环境) 处理所有的注释,以空格代替 将所有的#define删除,并且展开所...

PcDack
2017/12/04
0
0
为 man 手册页编写解析器的备忘录

我一般都很喜欢无所事事,但有时候太无聊了也不行 —— 2015 年的一个星期天下午就是这样,我决定开始写一个开源项目来让我不那么无聊。 在我寻求创意时,我偶然发现了一个请求,要求构建一个...

作者: Roberto Dip
06/11
0
0
X-Code获取编译时间

日常我们在公司的项目中都会涉及多个版本的交替开发和测试,这个过程中我们就伴随着各个版本的打包和测试,就一个开发团队来说,我们需要产品,开发和测试,但是今天我们要说的主要是开发和测...

牛奶_E
2014/01/13
232
0
孙鑫VC视频学习笔记一

1.消息队列->应用程序->操作系统->输入输出设备。 2.操作系统把它所能完成的功能以函数的形式提供给应用程序。 应用程序对这些函数的调用,叫系统调用。 (Application Programming Interface...

橘子红了呐
2017/11/05
0
0
iOS 宏(define)与常量(const)的正确使用

在iOS开发中,经常用到宏定义,或用const修饰一些数据类型,经常有开发者不知怎么正确使用,导致项目中乱用宏与const修饰 你能区分下面的吗?知道什么时候用吗? 当我们想全局共用一些数据时...

xiao理想
2016/07/12
27
0

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
7
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部