文档章节

用宏区分操作系统和编译器

二胡艺
 二胡艺
发布于 2015/06/04 09:46
字数 346
阅读 72
收藏 3

编译器 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/NT4.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 Internet Explorer的Ver … _WIN32_IE Cygwin Cygwin #ifdef CYGWIN 32bit版Cygwin(现在好像还没有64bit版) #ifdef CYGWIN32 MinGW(-mno-cygwin指定) #ifdef MINGW32 原文地址:http://blog.csdn.net/immcss/article/details/3881827

© 著作权归作者所有

二胡艺
粉丝 4
博文 42
码字总数 12555
作品 0
镇江
程序员
私信 提问
C语言编译预处理技术一本道来

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

PcDack
2017/12/04
0
0
C/C++中的内置宏定义及跨平台编程随笔

ANSI C标准中有几个标准预定义宏(也是常用的): LINE:在源代码中插入当前源代码行号; FILE:在源文件中插入当前源文件名; DATE:在源文件中插入当前的编译日期 TIME:在源文件中插入当前...

元谷
2014/05/07
0
0
Lua2.4 解释器入口 lua.c

开始解释器篇。 解释器部分会写几节还说不准,因为,不少相关内容在之前的版本中是有覆盖到的。 同样,还是从解释器入口的 main 函数说起。 int main (int argc, char *argv[]){ int i; int ...

晓寒
2014/10/14
0
0
VS中字符集的Unicode和多字节字符集的区别

VS中字符集的Unicode和多字节字符集的用处,注意是 用处 所以不赘述具体编码方式。网上一大片。 ANSI编码(使用""包裹) Unicode编码(使用L""包裹) ------------------------------------...

LoSingSang
02/21
0
0
iOS 宏(define)与常量(const)的正确使用

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

xiao理想
2016/07/12
20
0

没有更多内容

加载失败,请刷新页面

加载更多

win mysql 安装笔记

官方下载zip的mysql包,解压即可 目录: D:\mysql_file\mysql-5.7.26-winx64 在该目录下新建一个文件夹data (如果操作过程中失败,要把data中的所有文件删掉) 新建一个文件,命名为my.ini,内容...

_大侠__
11分钟前
1
0
第八届“中国软件杯”初赛评审完美收官,课工场赛题备受关注

日前,由工业和信息部、教育部、江苏省人民政府共同创办第八届“中国软件杯”大学生软件设计大赛初赛评审历时两天,于 6 月 23 日圆满结束。由中国科学院软件研究所专家、各高校软件学院相关...

IFTNews
23分钟前
0
0
日期居然用字符串保存?我笑了

微信公众号「后端进阶」,专注后端技术分享:Java、Golang、WEB框架、分布式中间件、服务治理等等。 老司机倾囊相授,带你一路进阶,来不及解释了快上车! 我发现数据库有些日期居然用字符串...

后端进阶
26分钟前
2
0
c 基础教程四:c 输入输出(二)

在C语言中,有三个函数可以用来在显示器上输出数据,它们分别是: puts():只能输出字符串,并且输出结束后会自动换行 putchar():只能输出单个字符 printf():可以输出各种类型的数据 prin...

故城以南丶思念不安
27分钟前
1
0
SSO简单实现与理解

SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机...

辣条QAQ
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部