C Language Standards Supported by GCC (GCC 支持的C语言标准)

GCC版本与C/C++标准支持对照:从C89到C++23的完整指南 GCC作为C/C++生态中最核心的编译器,其版本迭代与C/C++标准演进紧密对应。从C89到C23、从C++98到C++23,每个标准特性在不同GCC版本中的落地状态差异显著,直接影响代码的可移植性与编译策略。理解“版本-标准”映射关系,是快速定位编译问题、合理选择工具链的基础。在实际工程中,无论面临“gcc升级后为啥还是旧版本”的环境配置困惑,还是需要在离线环境完成“redhat linux离线安装gcc”,掌握GCC多版本共存与切换机制都至关重要。本文系统梳理GCC版本与C/C++标准支持对照,并给出常 阅读详情

Using the GNU Compiler Collection

Language Standards Supported by GCC

GCC支持的语言标准

For each language compiled by GCC for which there is a standard,

对于由GCC编译的每种语言都有一个标准

GCC attempts to follow one or more versions of that standard,

GCC尝试遵循该标准的一个或多个版本

possibly with some exceptions, and possibly with some extensions.

可能有一些例外,也可能有一些扩展。

2.1 C Language

The original ANSI C standard (X3.159-1989) was ratified in 1989 and published in 1990.

原 ANSI C 标准(X3.159-1989)于1989年获得批准,并在1990年出版。

This standard was ratified as an ISO standard (ISO/IEC 9899:1990) later in 1990.

1990年的晚些时候被批准为ISO标准(ISO/IEC 9899:1990)。

There were no technical differences between these publications, although the sections of the ANSI
standard were renumbered and became clauses in the ISO standard.

这些出版物之间没有技术差异,尽管ANSI的部分标准被重新编号成为 ISO 标准条款。

The ANSI standard, but not the ISO standard, also came with a Rationale document.

但是 ANSI 标准相比于 ISO 标准,还附有一个基本原理的文档。

This standard, in both its forms, is commonly known as C89, or occasionally as C90, from the dates of ratifcation.

这个标准自批准之日起以两种形式存在,通常被称为C89,有时也称为C90。

To select this standard in GCC, use one of the options‘-ansi’,‘-std=c90’or‘-std=iso9899:1990’;

要在GCC中选择此标准,可使用选项 '-ansi','-std=c90' 或 '-std=iso9899:1990'

to obtain all the diagnostics required by the standard, you should also specify‘-pedantic’
(or‘-pedantic-errors’if you want them to be errors rather than warnings).
See Section 3.4 [Options Controlling C Dialect], page 33.

为了获得该标准所需要的所有诊断信息,
您还应该指定'-pedantic'( 或'-pedantic-errors',如果您希望它们是错误而不是警告 )。
详见3.4节 [ 控制C语言选项 ], 33页

Errors in the 1990 ISO C standard were corrected in two Technical Corrigenda published in 1994 and 1996.
GCC does not support the uncorrected version.

在 1994年 和 1996年, 1990年 ISO C 标准的错误已在两份发布的技术勘误表中得到纠正.
GCC不支持未校正的版本。

An amendment to the 1990 standard was published in 1995.

在1995年出版了1990年标准的修正案。

This amendment added digraphs and __STDC_VERSION__ to the language, but otherwise concerned the library.

这个修正案添加了 digraphs 和 __STDC_VERSION__ 到 C 语言中,但是并没有涉及这个库的其他方面

This amendment is commonly known as AMD1; the amended standard is sometimes known as C94 or C95.

这个修正案俗称为 AMD1; 修订后的标准被称为 C94 或 C95。

To select this standard in GCC, use the option‘-std=iso9899:199409’(with, as for other standard versions,‘-pedantic’to receive all required diagnostics).

要在GCC中选择此标准,请使用选项'-std=iso9899:199409'(与其他标准版本一样, '-pedantic' 接收所需要的诊断信息)

A new edition of the ISO C standard was published in 1999 as ISO/IEC 9899:1999, and is commonly known as C99.
(While in development, drafts of this standard version were referred to as C9X.)

在1999年 ISO C standard 的新版本作为 ISO/IEC 9899:1999 出版,通常被称为 C99。
(在开发时,本标准版的草案被称为 C9X)

GCC has substantially complete support for this standard version; see http://gcc.gnu.org/c99status.html for details.

GCC 对此标准的版本基本完全支持; 详见 http://gcc.gnu.org/c99status.html

To select this standard, use‘-std=c99’or‘-std=iso9899:1999’.

要选择此标准,请使用'-std=c99' 或 '-std=iso9899:1999'。

Errors in the 1999 ISO C standard were corrected in three Technical Corrigenda published in 2001, 2004 and 2007.
GCC does not support the uncorrected version.

在2001、2004和2007年, 1999年ISO C标准的错误已在三份发布的技术勘误表中得到纠正
GCC不支持未校正的版本。

A fourth version of the C standard, known as C11, was published in 2011 as ISO/IEC 9899:2011.
(While in development, drafts of this standard version were referred to as C1X.)

在2011年 C标准的第四版,被称为 C11,作为ISO/IEC 9899:2011出版。
在开发过程中,本标准版的草案被称为 C1X

GCC has substantially complete support for this standard, enabled with‘-std=c11’or‘-std=iso9899:2011’.

GCC已经完全支持这个标准,启动选项 '-std=c11' 或 '-std=iso9899:2011'

By default, GCC provides some extensions to the C language that, on rare occasions conflict with the C standard.
See Chapter 6 [Extensions to the C Language Family], page 403.

默认情况下,GCC为C语言提供了一些扩展,在极少的情况下,与C标准相冲突。
详见第6章 [ 扩展C语言家族 ], 403页

Some features that are part of the C99 standard are accepted as extensions in C90 mode,
and some features that are part of the C11 standard are accepted as extensions in C90 and C99 modes.

C99标准的部分特性被扩展到了 C90 模式,C11 标准的部分特性被扩展到了 C90 和 C99 模式

Use of the‘-std’options listed above disables these extensions where they conflict with the C standard version selected.

使用上面列出的 '-std' 选项可以禁用这些与 C标准版本冲突的扩展。

You may also select an extended version of the C language explicitly with
‘-std=gnu90’(for C90 with GNU extensions),
‘-std=gnu99’(for C99 with GNU extensions) or
‘-std=gnu11’(for C11 with GNU extensions).

您还可以使用
'-std=gnu90' ( 对应 C90 GNU扩展 ),
'-std=gnu99' ( 对应 C99 GNU扩展 ) 或
'-std=gnu11' ( 对应 C11 GNU扩展 ) 这些选项可以明确地指定 C 语言的扩展版本

The default, if no C language dialect options are given, is‘-std=gnu11’.

默认情况下,如果没有给出C语言方言选项,默认为'std = gnu11'


The ISO C standard defnes (in clause 4) two classes of conforming implementation.

ISO C 标准( 在第四节 ) 规定了两个符合标准的实现方式

A conforming hosted implementation supports the whole standard including all the library facilities;

一个是符合标准的托管实现方式(hosted implementation) 能够支持严格遵循标准的全部库文件(library facilities)

a conforming freestanding implementation is only required to provide certain library facilities :
those in <float.h>, <limits.h>, <stdarg.h>, and <stddef.h>;
since AMD1, also those in <iso646.h>;
since C99, also those in <stdbool.h> and <stdint.h>;
and since C11, also those in <stdalign.h> and <stdnoreturn.h>.
In addition, complex types, added in C99, are not required for freestanding implementations.

而另一个是符合标准的独立实现方式(freestanding implementation) 仅支持某几个库文件 :
这些库文件有 <float.h>, <limits.h>, <stdarg.h>, 和<stddef.h>;
到 AMD1 修正案时,还有 <iso646.h>
到 C99 时, 还有<stdbool.h> 和 <stdint.h>;
再到 C11 时, 还有<stdalign.h> 和<stdnoreturn.h>.
此外,在C99 中添加的 complex 类型,在独立实现方式(freestanding implementation)中是不需要的

The standard also defines two environments for programs, a freestanding environment, required of all implementations and which may not have library facilities beyond those required of freestanding implementations,
where the handling of program startup and termination are implementation-defined;

该标准还为程序定义了两个环境,一个是 独立环境(freestanding environment)
要求所有的实现 除了那些独立实现(freestanding implementation)所需的库之外不依赖其他库设施
而且要在指定的地方实现已定义的程序的启动和停止

and a hosted environment, which is not required, in which all the library facilities are provided and startup is through a function int main (void) or int main (int, char *[]).

而对于托管环境(hosted environment)则是通过一个函数int main (void)或int main (int, char *[])来启动并且提供了所有的库设施

An OS kernel is an example of a program running in a freestanding environment;

系统内核就是一个在独立环境(freestanding environment)中运行的程序示例;

a program using the facilities of an operating system is an example of a program running in a hosted environment.

而使用操作系统设施的程序就是一个在托管环境(hosted environment)中运行的程序示例。

GCC aims towards being usable as a conforming freestanding implementation, or as the compiler for a conforming hosted implementation.

GCC 的目标是成为符合标准的独立实现 (freestanding implementation)程序,或者作为托管实现(hosted implementation)程序的编译器

By default, it acts as the compiler for a hosted implementation, defning __STDC_HOSTED__ as 1
and presuming that when the names of ISO C functions are used, they have the semantics defned in the standard.

默认情况下,GCC作为托管实现方式(hosted implementation)程序的编译器,
将__STDC_HOSTED__定义为1,并且当使用 ISO C 的函数名时,假定它们在标准中定义了语义

To make it act as a conforming freestanding implementation for a freestanding environment,
use the option‘-ffreestanding’;

为使 GCC 作为独立环境(freestanding environment)下的独立实现(freestanding implementation), 可以使用'-ffreestanding' 选项

it then defnes __STDC_HOSTED__ to 0 and does not make assumptions
about the meanings of function names from the standard library, with exceptions noted below.

该选项可以使__STDC_HOSTED__定义为 0 并且不对标准库中函数名做出已定义的假设,下面提到了例外的情况

To build an OS kernel, you may well still need to make your own arrangements for linking and startup.
See Section 3.4 [Options Controlling C Dialect], page 33.

要构建操作系统内核,您可能还需要自行安排链接和启动。
详见3.4节 [ 控制C语言选项 ], 33页

GCC does not provide the library facilities required only of hosted implementations,
nor yet all the facilities required by C99 of freestanding implementations on all platforms.

GCC本身并不提供托管实现(hosted implementations) 所需的库设施,
也不提供C99在所有平台上独立实现(freestanding implementation)所需的所有设施。

To use the facilities of a hosted environment, you need to find them elsewhere (for example, in the GNU C library).
See Section 13.5 [Standard Libraries], page 788.

要使用托管环境的设施,您需要在其他地方找到它们 (比如, GNU 的 C 库)
详见 13.5 节 [ 标准库 ],788页

Most of the compiler support routines used by GCC are present in‘libgcc’, but there are a few exceptions.

GCC使用的大多数编译器支持例程都存在于'libgcc'中,但也有一些例外。

GCC requires the freestanding environment provide memcpy, memmove, memset and memcmp.

GCC需要独立环境(freestanding environment)中提供 memcpy,memmove,memset 和 memcmp

Finally, if __builtin_trap is used, and the target does not implement the trap pattern, then GCC emits a call to abort.

最后,如果使用__builtin_trap,并且目标没有实现陷阱模式(trap pattern),那么GCC将发出一个中止调用。

For references to Technical Corrigenda, Rationale documents and information concerning the history of C that is available online,
see http://gcc.gnu.org/readings.html

参考文献,在线可用的C历史的阐述文档和信息,
详见 http://gcc.gnu.org/readings.html

证书工具之OpenSSL 1、查看openssl完整版本信息 [root@localhost ~]# openssl version -a OpenSSL 1.0.1e-fips 11 Feb 2013 built on: Mon May 9 09:54:24 CDT 2016 platform: linux-x86_64 options: bn(64,64) md2(int) rc4(16x,int) des(id... 阅读详情

相关推荐

DB-GPT:企业级私有数据库智能体操作系统

Text2SQL技术正从单次查询翻译迈向多步数据工作流编排,其核心在于解决语义理解偏差、执行不可控与领域知识缺失三大瓶颈。基于LLM的数据库智能体需具备结构化感知、SQL闭环校验、沙箱安全执行及可编排工作流等能力,才能支撑金融、政务等强监管场景的落地需求。DB-GPT通过AWEL工作流引擎、模块化Skill体系与Linux级沙箱机制,实现意图驱动的端到端财报分析、留存率计算等复杂任务,兼顾准确性、可审计性与工程鲁棒性。

chikuai9995的博客 661

gcc支持的C语言标准(-std选项)

gcc支持多种版本的C标准,比如C90(ISO1990)、C99(ISO 1999)和C11(ISO2011),除此之外,GCC还会支持一些GCC特有的扩展。分别是: gnu89/gnu90: ISO C90 + GCC extension gnu99: ISO C99 + GCC extension gnu11: ISO C11 + GCC extension 支持的C语言标准可以使用-s...

程序猿Ricky的日常干货 1万+

神玑NX9031X芯片开发实战:智能汽车SoC架构与软硬件集成指南

SoC(系统级芯片)作为智能汽车的核心计算单元,采用多核异构架构集成CPU、NPU和DSP等处理核心,通过硬件加速实现复杂AI算法的高效执行。其技术原理在于通过域控制器架构替代传统分布式ECU,显著提升系统集成度和处理效率。在工程实践中,SoC的价值体现在算力支持、功耗优化和开发便捷性三大维度,能够满足智能座舱、辅助驾驶等场景的实时性要求。以神玑NX9031X芯片为例,该芯片凭借数十TOPS的NPU算力和丰富的车载通信接口,在乐道车型中实现了软硬件深度集成。开发过程中需重点关注HIL测试和OTA升级等关键技

459

gcc编译器默认支持的c语言标准

c语言有三个标准,分别是c89 c99和最新的c11     楼主使用的gcc的版本是4.8.1,在编译以下一小段测试代码时,如果不加上-std=c99 或者-std=c11,则编译后的程序无法得到正确的运行结果     #include    int main(int argc, char *argv[])   {          int i;       printf("

u010796610的专栏 2935

【信息科学与工程学】【数据中心】第三十五篇 云计算数据中心的学科知识04

编号学科(课程)核心知识点在云计算/云存储/云网络/云安全/云MaaS中的作用代表教材/资料/论文 + 数学方程式列表工业界应用D1421​云原生数据库:TiDB​HTAP(混合事务/分析处理)、分布式SQL、水平扩展、强一致(Raft)、自动故障恢复、与MySQL兼容、TiFlash列式引擎提供弹性扩展的分布式数据库;支撑高并发在线交易与实时分析教材:《TiDB in Action》PingCAP(2020) 论文:《TiDB: A Raft-based HTAP Database》(2017)

weixin_49199313的博客 406

【信息科学与工程学】【产品体系】第三十三篇 DPU/smartinic芯片中的学科知识03

需求实现DMA 与流边界检测优化​分级超时状态机(短/中/长)+ 积压计数 + 批量触发DMA 控制器优化​描述符预取(深度 4)+ 中断合并(阈值 8)Fence 语义正确性验证​RTL 断言 + C 语言序列号检测 + 性能对比 + 硬件计数器所有代码均为可综合 Verilog,已在仿真器中通过基本功能测试。在 FPGA 原型上运行上述 RTL,配合 ChipScope 观察 fence 时序在 BlueField-3 上运行 DOCA DPA 测试程序,对比加/不加 fence 的结果。

weixin_49199313的博客 289

所有Gcc版本对C和C++的支持情况(超详细版本)

在最近接触的新的项目,由于技术使用为C98风格实现,遇到一个问题需要加锁解决,本能反应用lock_gurad+mutex解决,但是没设置CFLAGS为C++11标准,不确定当前gcc编译器默认支持的C和C++标准是什么,索性就一把都研究透彻,方便后面查看和使用。纯手工一个一个查找标准对照的,十分耗时,多谢支持。

Bussy的博客 9万+

Win11上从零跑通Carla自动驾驶仿真:保姆级环境配置与避坑指南(Python 3.7+)

本文详细介绍了在Win11系统上从零配置Carla自动驾驶仿真环境的完整流程,包括Python 3.7+环境搭建、依赖安装、常见问题排查及性能优化技巧。通过保姆级教程帮助开发者快速避坑,实现稳定的自动驾驶仿真测试环境部署。

weixin_33488239的博客 421

gcc的默认c语言标准是哪一个,gcc支持的C语言标准(-std选项)

gcc支持多种版本的C标准,比如C90(ISO1990)、C99(ISO 1999)和C11(ISO2011),除此之外,GCC还会支持一些GCC特有的扩展。分别是:gnu89/gnu90: ISO C90 + GCC extensiongnu99: ISO C99 + GCC extensiongnu11: ISO C11 + GCC extension支持的C语言标准可以使用-std 进行选择...

weixin_35949264的博客 3923

面试中常考的数学题——截木棍、圆上取点、赛马、红蓝墨水,测试毒药、坐到正确座位问题

文章目录1.将一根木棒截成三段,问能够组成三角形的概率;2.在圆上任取三点,问能够组成锐角、直角、钝角三角形的概率;3.共有25匹马,找出最快的3匹,只有5个赛道,每次比赛只能得到5匹马的速度排序,最少需要多少次比赛;4 有两瓶红蓝墨水,体积一样,现在从红墨水中舀一勺加入蓝墨水中,搅拌均匀后,在从蓝墨水中舀一勺加到红墨水中,试问这两瓶墨水哪瓶纯度更高。 1.将一根木棒截成三段,问能够组成三角形的概率; 来源:https://blog.youkuaiyun.com/weixin_41245919/article/deta

weixin_41558411的博客 4906

解密CANoe数据回放:从BLF到ASC的格式转换与优化策略

本文深入解析CANoe数据回放中BLF与ASC格式的转换与优化策略,帮助工程师高效处理汽车电子测试数据。详细介绍了两种格式的特性、转换方法及性能优化技巧,包括CANoe内置功能、命令行自动化和第三方工具应用,提升故障诊断和系统验证效率。

weixin_28331555的博客 537

GCC的默认C标准

若没有使用-std参数来指定GCC的C标准, 则使用默认的GNUC90标准(GCC对C99和C11支持得不完整), GNUC90标准在C90标准的基础上进行了扩展. 熟知的C标准大概有三种: c90( or c89), c99, c11. 分别于1990年, 1999年, 2011年发布. 在编译的时候指定c90标准: -ansi, -std=c90 or -std=iso9899:1990;

MJN 1万+

OpenCV视频防抖算法实现与优化指南

本文详细解析了如何使用OpenCV实现视频防抖算法。通过特征点检测与光流跟踪估算帧间运动,利用滑动平均平滑运动轨迹,并应用仿射变换重塑视频帧。文章提供了完整的代码实现、参数调优指南及黑边处理等优化技巧,帮助开发者高效处理手持拍摄等场景下的视频抖动问题。

weixin_29062823的博客 341

C++ Language Standards Supported by GCC ( GCC 支持的C++语言标准 )

Using the GNU Compiler Collection C++ Language Standards Supported by GCC C++ Language GCC supports the original ISO C++ standard published in 1998, and the 2011 and 2014 revisions. GCC支持1998年出版的原始 ISO

letshi 1521

京东技术产品经理面试全记录:从简历投递到一面45分钟实战复盘

本文深度复盘京东技术产品经理面试全流程,从策略准备、思维题拆解、项目阐述到反问谈判,提供了一套可演练的求职策略体系。文章强调该岗位需具备横跨技术与商业的枢纽能力,并通过“QQ分组vs微信标签”等案例,剖析了产品思维与结构化表达在面试中的关键作用,助力候选人将紧张转化为掌控感。

weixin_29275257的博客 630

通讯接口应用笔记3:使用W5500实现Modbus TCP服务器

  前面我们设计实现了W5500的驱动程序,也讲解了驱动的使用方式。在最近一次的项目应用中,正好有一个使用W5500实现TCP通讯的需求,所以我们就使用该驱动程序轻松实现。这一篇中我们就来说一说基于我们W5500通讯驱动程序实现TCP通讯的过程。 1、应用需求   在本次应用中,要求实现一个基于W5500的Modbus TCP服务器。这个需求的描述虽然只有一句话,但是这个需求的内容可不简单。我们首先来分析一下这个需求的具体内容。   为了实现基于W5500的Modbus TCP服务器,我们必先须基于W550

木南创智 5499

Objective-C Objective-C++ Language Standards Supported by GCC ( GCC 支持的Objective-C Objective-C++标准 )

Using the GNU Compiler Collection Language Standards Supported by GCC GCC支持的语言标准 2.3 Objective-C and Objective-C++ Languages GCC supports“traditional”Objective-C(also known as“Objective-C 1.0”) and contain

letshi 943

PX4从放弃到精通(二十七):固定翼姿态控制

固件版本 PX4 1.13.2欢迎交流学习,可加左侧名片。

超维空间科技的博客 6888

[ C语言 ] 发展历程与实践标准

本文梳理了C语言从诞生到标准化的演进历程,重点分析了其与Unix系统的共生关系及对现代计算的基础性影响。丹尼斯·里奇为解决Unix移植性问题而设计的C语言,通过标准化进程(C89/C90、C99、C11、C17/C18)逐步完善,解决了代码兼容性、多线程支持等关键问题。C语言的高效性与可移植性使其成为操作系统、嵌入式系统等底层开发的核心工具,其设计理念深刻影响了后续编程语言的发展。尽管面临新语言的竞争,C语言在性能敏感领域仍保持不可替代的地位,其标准化进程也体现了工业界对稳定性的重视。

A41311141的博客 732

仿真学习系列(三十八):Sigrity仿真之单端S参数提取

S 参数(Scattering Parameters)是高速信号分析中最基础也最常用的指标,能够全面表征走线、过孔、连接器等互连结构的高频行为。在 Sigrity PowerSI 中,Model Extraction 是最常用的 S 参数提取方式,适用于高速差分线、单端线、过孔、参考平面等各种拓扑结构。 本节将通过示例讲解如何在 PowerSI 中完成一次完整的 S 参数提取流程,包括:对象选择、端口设置、频率范围配置以及结果查看。掌握此方法后,即可对任意高速网络执行阻抗、插损、回损、串扰分析,为进一步的

案例文章,高速信号 838

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C 标准库 - 参考手册

C 标准库是 C 语言提供的一组标准函数和宏,旨在帮助程序员处理常见的编程任务。它由多个头文件组成,每个头文件定义了特定的功能,如输入输出、字符串处理、数学计算等。这些库函数在不同平台上具有一致的行为,确保了程序的可移植性。C 标准库由一系列头文件组成,每个头文件定义了一组相关的函数、宏和数据类型。这些头文件是 C 语言标准的一部分,确保了不同平台上的 C 程序可以一致地使用这些功能。C 标准库的主要目标是提供通用的、可移植的编程工具,减少程序员的工作量。

likuoelie的博客 1386

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

3.Linux基础开发⼯具【由浅入深-Linux】

在 Windows 环境中,我们习惯了双击 或 文件并一路点击“下一步”来安装软件。但在 Linux 的世界里,软件的分发和安装理念有着本质的不同。Linux 强调权限控制、模块化和依赖管理。为了帮您构建完整的 Linux 系统管理知识体系,我们可以将 Linux 下安装软件的方式归纳为五大主流阵营。这是 Linux 下最正统、也是日常使用频率最高的方式。它又细分为“在线仓库安装”和“本地包安装”两种场景。1. 在线仓库安装(如同手机自带的 App Store) 操作系统维护着一个庞大的软件云端仓库。通

插花弄玉的博客 758

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Office Tool Plus 部署工具使用指南:从一条命令装 Office 到提交你的第一个翻译

Office Tool Plus 是一个面向 Windows 的 Office 部署工具,支持 Microsoft 365、Office 2016 至 2024 以及 Visio、Project 的自定义安装、激活与日常维护,提供联网、电话、KMS 三种激活方式。本文基于其开源仓库 Office-Tool,讲清如何用 PowerShell 脚本自动完成部署、命令序列怎么编排,以及仓库中本地化文件的

gitblog_00838的博客 304

LLVM与Clang编译器基础设施解析:从IR原理到工程实践与源码构建指南

编译器是现代软件工程的底层基石,而LLVM作为一套模块化的编译器基础设施,重新定义了从源代码到机器码的转化方式。其核心设计在于将前端、中端优化器与后端解耦,通过静态单赋值(SSA)形式的中间表示(IR)实现跨语言、跨架构的灵活编译流程。Clang作为LLVM官方C/C++前端,不仅提供高效的语法解析和语义分析能力,还衍生出静态分析、代码补全等强大工具链。理解这种架构,有助于开发者掌握程序优化、链接器协作乃至Sanitizer调试的底层逻辑。在实际工程中,无论是构建自定义Pass优化性能,还是加速大型项目链接

weixin_33858485的博客 412

OpenGL [ 环境搭建 ]

本文系统讲解现代OpenGL 3.3 Core Profile环境的搭建流程,涵盖从依赖安装、CMake配置到代码实现的完整链路。通过GLFW创建窗口与上下文,GLAD加载函数指针,结合CMake管理构建,最终验证核心条件:版本≥3.3、上下文为CoreProfile、函数可调用、画面正确渲染。强调“环境可用”的标准是获得可查询、可调用的上下文,而非仅窗口出现。文章提供跨平台(Windows/macOS/Linux)配置方案、常见错误排查及检查清单,为后续学习顶点缓冲、着色器等打下坚实基础。

Small_entreprene的博客 445

工程师必备:高级搜索技巧精准定位技术文档与开源资源

信息检索是工程师的核心能力之一,其本质是通过特定策略从海量数据中高效提取目标信息。搜索引擎的工作原理基于网络爬虫对网页内容的抓取与索引,而高级搜索技巧则通过操作符直接匹配URL结构或页面标题,实现对非标准发布资源的精准定位。这种技术价值在于能突破常规搜索的局限,直接访问服务器目录、定位特定文件格式或限定专业站点范围,极大提升研发效率。在电子硬件与嵌入式开发领域,典型应用场景包括快速获取芯片数据手册、勘误表、应用笔记,直接定位开源项目的工程文件与SDK,以及高效进行技术调研与竞品分析。本文以工程师的实际工作流

weixin_30376083的博客 495
上一篇: Programming Languages Supported by GCC(GCC 支持的编程语言)
下一篇: C++ Language Standards Supported by GCC ( GCC 支持的C++语言标准 )
letshi
博客等级 码龄16年 3粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值