首页 > 编程语言 >【技术分享】C++编译中常用的内置宏

【技术分享】C++编译中常用的内置宏

时间:2023-02-16 20:35:58浏览次数:32  
标签:__ 内置 版本号 GNUC C++ 编译 版本

C++编译中常用的平台宏

针对不同的平台,很多头文件,函数名称,类型占用空间不一致。
为了保证跨平台可编译,经常需要在项目中使用宏进行区分

平台宏

操作系统 可使用的宏
Windows 32位 _WIN32
Windows 64位 _WIN32;_WIN64
Linux __linux__
MacOS __APPLE__

GCC版本宏

内容
主版本号 __GNUC__
次版本号 __GNUC_MINOR__
修正版本号 __GNUC_MINOR__

Visual Studio版本宏

可以通过判定_MSC_VER,确认当前是VS环境。
其中2013版本之前和2015版本以后的版本存在巨大差异,编译后的lib库无法混用。需要注意。

版本 _MSC_VER
2022 1930
2019 1920
2017 1910
2015 1900
2013 1800
2012 1700

标签:__,内置,版本号,GNUC,C++,编译,版本
From: https://www.cnblogs.com/girakoo/p/17128176.html

相关文章

  • c++学习8 动态空间申请
    一动态分配内存的概述在数组一幕中,介绍过数组的长度是事先预定好的,在整个程序中固定不变。但是在实际的编程过程中,往往会发生这种情况:我们并不清楚到底需要多少数目的空......
  • 【开源需求】C++多线程消息分发架构
    项目【gi_messager】开源项目:https://girakoo.com/联系方式:[email protected]需求简述在多线程环境中,为每个线程提供独立的消息队列MessageLoop。注:主线程默认自动......
  • 谈谈muduo库的销毁连接对象——C++程序内存管理和线程安全的极致体现
    #前言网络编程的连接断开一向比连接建立复杂的多,这一点在陈硕写的muduo库中体现的淋漓尽致,同时也充分体现了C++程序在对象生命周期管理上的复杂性,稍有不慎,满盘皆输。为......
  • C++ (伪)随机数生成
    #include<iostream>#include<random>namespacerandom{//从系统获取随机数作为种子std::random_devicerd;//创建种子序列std::seed_seqrr{r......
  • 关于c++内存优化的方法
    1.使用智能指针shared_ptr<>或者unique_ptr<>此种方法new出来的对象的内存会在超出作用域后自动释放2.使用clear清除列表或者swap清空对象 或者将指针赋值为NULL3.r......
  • C++梳理
    1、基础篇1、C++中的四种智能指针为什么要使⽤智能指针:智能指针其作⽤是管理⼀个指针,避免程序员申请的空间在函数结束时忘记释放,造成内存泄漏这种情况的发⽣。使⽤智能......
  • C++ 浮点数比较代码
    #include<algorithm>#include<cmath>#include<iostream>//如果a和b之间的差异在a和b中较大者的epsilon百分比以内,则返回trueboolapproximatelyEqualR......
  • 编译和运行一个C++程序
    由C++编写的源代码需要经过编译和链接后,将其转化为可执行程序后才能运行.在C语言中,使用gcc命令来编译和链接C程序gccmain.c//编译单个源文件gccmain.cmodule.......
  • C++引用
    引用reference举例如:intref=&a;只是产生了一个a的别名,ref并不一个真正的变量。可以用在形参上,代替指针,使得代码更加简洁。voidadd(int*value),等效于void......
  • 不用Blazor WebAssembly,开发在浏览器端编译和运行C#代码的网站
    不用BlazorWebAssembly,开发在浏览器端编译和运行C#代码的网站 本文中,我将会为大家分享一个如何用.NET技术开发“在浏览器端编译和运行C#代码的工具”,核心的技术就是......