<编译>条件编译——判断当前使用的编译器及操作系统
- 编译器
#ifdef __GNUC__#if __GNUC__ >= 3 // GCC3.0以上
#ifdef _MSC_VER#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以上
#ifdef __BORLANDC__
#ifdef __CYGWIN__#ifdef __CYGWIN32__ //
#ifdef __MINGW32__
- 操作系统
#ifdef _WIN32 //32bit#ifdef _WIN64 //64bit#ifdef _WINDOWS //图形界面程序#ifdef _CONSOLE //控制台程序//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以上//_WIN32_WINNT 内核版本#if (_WIN32_WINNT >= 0x0500) // Windows 2000以上#if (_WIN32_WINNT >= 0x0501) // Windows XP以上#if (_WIN32_WINNT >= 0x0600) // Windows Vista以上
#ifdef __unix//or#ifdef __unix__
#ifdef __linux//or#ifdef __linux__
#ifdef __FreeBSD__
#ifdef __NetBSD__
- Qt特有
<qtglobal.h>定义了Q_OS_*和Q_WS_*系列用于判断操作系统。Q_CC_*系列判断编译器。
<编译>条件编译——判断当前使用的编译器及操作系统的更多相关文章
- ”危险“的RESTRICT与GCC的编译优化(编程者对编译器所做的一个“承诺”:使用restrict修饰过的指针,它所指向的内容只能经由该指针修改)
restrict是C99标准中新添加的关键字,对于从C89标准开始起步学习C语言的同学来说(包括我),第一次看到restrict还是相当陌生的.Wikipedia给出的解释如下: In the C p ...
- Flex编译探索:FLEXSDK自带编译器与MAVEN插件Flex-mojos
最近为了持续集成,想将flex的编译形成自动化.所以做了一些探索,虽然最后放弃了,但也有一些认识,写出来可以少走一些弯路. Flex的编译都是基于mxmlc编译机制 flex-mojos也是基于mxm ...
- fatal error C1859 意外的预编译头错误,只需重新运行编译器(转)
微软的建议 要解决此问题,请使用下列方法之一. http://support.microsoft.com/kb/976656/zh-cn 方法 1 禁用/analyze编译器选项,则它会被启用. 方法 ...
- linux, windows, mac, ios等平台GCC预编译宏判断
写跨平台c/c++程序的时候,需要搞清各平台下面的预编译宏,区分各平台代码.而跨平台c/c++编程,GCC基本在各平台都可以使用.整理了一份各平台预编译宏的判断示例. 需要注意几点: * window ...
- C++编译期判断是否能够转型
#include <iostream> #include <vector> using namespace std; template<class T,class U&g ...
- 实现把C语言编译成java字节码的编译器 一个将C语言编译成java字节码的实例
- 安装了vs2019 编译node-sass node-gyp 找不到编译器的解决方法
1 新建powershell脚本文件 <# This is a workaround for "node-gyp is unable to find msbuild if VS2019 ...
- warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
在C++中, char* p = "abc"; // valid in C, invalid in C++ 会跳出警告:warning: ISO C++ forbids conve ...
- C++编译期间字节序判断
当前常用的字节序一般就两种,大端序和小端序. 下面列出四种字节序的表达方式.在对应平台下,内存布局为{0x,00,0x01,0x02,0x03}的四字节,表示为十六进制的值就如下面代码所示的. END ...
随机推荐
- Linux图形界面和文字界面的切换
Ctrl+Alt+F1~F6:切换到文字界面 登陆tty1~tty6终端, 运行等级为run level 3 Ctrl+Alt+F7 或者输入命令startX:切换到图形界面,运行等级为run lev ...
- procomm plus
procomm plus这是查看串口数据的软件.
- sklearn特征选择和分类模型
sklearn特征选择和分类模型 数据格式: 这里.原始特征的输入文件的格式使用libsvm的格式,即每行是label index1:value1 index2:value2这样的稀疏矩阵的格式. s ...
- 杂谈之WEB前端project师身价
了解javascript语言规范么?+1000 知道各浏览器的css差异么?+1000 javascript差异呢?+1000 知道html各标签的含义并不是常好地运用么?+1000 知道怎样跨浏览器 ...
- leetcode 题解 || Remove Nth Node From End of List 问题
problem: Given a linked list, remove the nth node from the end of list and return its head. For exam ...
- TIBCO RV
http://blog.csdn.net/tiercel2008/article/details/6799952
- Oracle 索引 简单介绍
1 索引的创建语法: CREATE UNIUQE | BITMAP INDEX <schema>.<index_name> ON <schema>.&l ...
- jackrabbit官方英文文档加补充(转载)
关于Jackrabbit To get started with Jackrabbit you should first become familiar with the JCR API. Downl ...
- new和delete的基本用法
前言 new和delete是C++中用来动态管理内存分配的运算符,其用法较为灵活.如果你对它们的几种不同用法感到困惑,混淆,那么接着看下去吧. 功能一:动态管理单变量/对象空间 下面例子使用new为单 ...
- (非原)SQL注入专题--整理帖 && like 语句拼sql 如何防止注入攻击。
原地址:blog.csdn.net/lvjin110/article/details/28697695 like 语句拼sql 如何防止注入攻击?http://bbs.csdn.net/topics/ ...