床单是什么| 压迫硬膜囊是什么意思| 朗朗原名叫什么| 春天的雨像什么| 草莓是什么形状| 妇炎康片主要治什么妇科病| 烤冷面是什么做的| 日光性皮炎用什么药膏最有效| 肛门镜检查能查出什么| 脊髓空洞症是什么病| 多喝水有什么好处和坏处| 一意孤行是什么意思| 巩加虫念什么| 高职本科是什么意思| 二毛二是什么军衔| 艾蒿是什么| 景字属于五行属什么| 中午12点半是什么时辰| 为什么不能空腹喝牛奶| 藏红花不能和什么一起吃| 舌头有齿痕吃什么药| 岁月无痕是什么意思| 白皮鸡蛋是什么鸡下的| 精索静脉曲张挂什么科| 什么叫骨折| 心悸是什么意思| 打马虎眼是什么意思| 女性分泌物带血是什么原因| 11.9是什么星座| 小孩子上火吃什么能降火| 宫颈炎是什么原因引起的| 牙龈充血是什么原因| 政字五行属什么| 为什么吐后反而舒服了| 口腔溃疡吃什么药| 百雀羚适合什么年龄段| 听佛歌有什么好处| 什么是冰种翡翠| 扒皮是什么意思| 碱性磷酸酶高是什么原因| 为什么一抽烟就想拉屎| a-l-岩藻糖苷酶偏高是什么原因| 文爱什么意思| my什么牌子| a和b生的孩子是什么血型| 竹棉和纯棉有什么区别| 神经肌电图检查什么| 霸王硬上弓什么意思| 二月二十一是什么星座| 膝关节咔咔响是什么原因| 胃ca是什么意思| 乳糖不耐受不能吃什么| 6像什么| 汗疱疹是什么引起的| 医学影像技术是干什么的| 血管瘤是什么样子的图| 多吃黑豆有什么好处| 望梅止渴是什么梅| 痛风不能吃什么食物表| 人参果不能和什么一起吃| 国防部长是什么级别| 金桔什么时候开花结果| 亮晶晶的什么| o型血rh阳性是什么意思| fisherman是什么意思| 股票pb是什么意思| 天麻能治什么病| 日晡潮热是什么意思| bc是什么牌子| 泉肌症是什么病| 白色舌苔厚是什么原因| 偏光眼镜是什么意思| 甲状腺减退什么症状| 记忆力差吃什么药| 吃什么能提高记忆力| AG是什么| 什么是18k金| 治脚气用什么药| 混血是什么意思| 前哨是什么意思| 高考什么时候结束| 唇炎看什么科室| 皮肤过敏用什么药| 梦见孩子被蛇咬是什么意思| 房间朝向什么方向最好| 看静脉曲张挂什么科| 眼角发白是什么原因| 叶酸片有什么作用| 血浓度高是什么原因| 看脖子挂什么科| 妒忌是什么意思| 95年猪是什么命| 腿痒是什么原因| 脚痛是什么原因| 美容美体是干什么的| 一个人自言自语的说话是什么病| 吃什么祛湿气| 外阴裂口什么原因| 太阳花是什么花| 胃疼吃什么药好得最快最有效| 眼睛模糊吃什么好| 中午吃什么菜| 你为什么不快乐| 脸水肿是什么原因| 齁不住是什么意思| 立春是什么意思| 脚心发热吃什么药| 神经内科主要看什么| 音序是什么意思| 多动症是什么原因造成的| 尿酸高吃什么中药能降下来| 中筋面粉适合做什么| 什么分泌胰岛素| 鹅蛋不能和什么一起吃| 男人肝火旺吃什么药| 莴笋不能和什么一起吃| 中暑什么症状表现| 圈层是什么意思| hcg值低是什么原因| 血沉高意味着什么意思| 胃不好吃什么养胃水果| 大钱疮抹什么药膏好使| 吃阿胶对女人有什么好处| 这个季节吃什么水果| 千里走单骑是什么意思| 血小板低吃什么药| 吃榴莲不能吃什么东西| 为什么睡觉流口水很臭| 增值税是什么| 肺部钙化是什么意思啊| 何首乌长什么样子| 男生生日送什么礼物好| 破处是什么意思| 便秘喝什么| 世界八大奇迹是什么| 什么食物含蛋白质多| 虬是什么动物| 什么是木乃伊| 日干是什么| 林冲是什么生肖| yp什么意思| 胆囊壁固醇沉积是什么意思| 为什么鱼和熊掌不可兼得| 肚脐上面是什么部位| 新店开业送什么好| 如火如荼什么意思| 晚上睡觉口苦是什么原因| 没有美瞳护理液用什么代替| swag是什么意思| 明天有什么考试| 脚心疼痛是什么原因引起的| 太是什么意思| 尿糖阳性是什么意思| 什么肉不能吃| 中国姓什么的人最多| 宫保鸡丁是什么菜系| 克加寸念什么| 胃恶心想吐吃什么药| 美国为什么支持以色列| 925是什么意思| 菠萝蜜吃了有什么好处| 辟谷是什么意思| 养狗人容易得什么病| 沙特用什么货币| 子宫后壁低回声是什么意思| 益生元是什么东西| 红花对什么| 什么茶可以降血压| 固本培元是什么意思| 虾仁炒什么好吃又简单| 吲哚美辛是什么药| 天葬是什么| 杜鹃花什么颜色| 娃哈哈纯净水是什么水| 白酒配什么饮料好喝| 欢乐海岸有什么好玩的| 顶礼是什么意思| 何炅和谢娜是什么关系| 红酒配什么菜| amp是什么意思| 来月经期间吃什么最好| 本是什么意思| 吃什么水果补肝养肝最有效| 锥切手术是什么意思| 直辖市是什么级别| leysen是什么牌子| 梦见流鼻血是什么征兆| 减张缝合是什么意思| 宽带m是什么意思| 八面玲珑是什么意思| 石蜡是什么东西| 梦见打官司预示着什么| 痘痘肌肤适合用什么牌子的护肤品| 安享晚年是什么意思| 戊肝抗体igg阳性是什么意思| 流连忘返是什么生肖| 化名是什么意思| 什么是潮喷| 子宫下垂吃什么药| 身上有红色的小红点是什么原因| 牛筋草有什么作用| 享受低保需要什么条件| giordano是什么牌子| 喝什么水去火| 展开的近义词是什么| 爷爷和孙子是什么关系| 吃什么水果解酒| 1921年属什么生肖| 玄学是什么意思| 了口是什么字| 豇豆不能和什么一起吃| 鸡飞狗跳是什么意思| 大圈什么意思| 李耳为什么叫老子| 口嗨什么意思| 南瓜和什么不能一起吃| 湖北有什么好玩的地方| 什么的瞬间作文| 心肌桥是什么病| 博大精深什么意思| 什么药可以延长射精| 消炎药不能和什么一起吃| biemlfdlkk是什么牌子| 今年为什么有两个6月| 水瓶座前面是什么星座| ppm是什么意思| 表哥的孩子叫我什么| 五三年属什么生肖| 脂肪瘤是什么引起的| 青云志是什么意思| 什么照镜子里外不是人| 小孩腹泻吃什么药好得快| 血压下午高是什么原因| 心脏骤停是什么原因引起的| 改善是什么意思| 相濡以沫什么意思| 扑感敏又叫什么名字| 30年属什么生肖| 睡觉时头晕是什么原因| 胃功能三项检查是什么| 潜血弱阳性什么意思| 向日葵是什么意思| dr是什么检查项目| 小兔子吃什么食物| 宝宝嘴巴臭臭的是什么原因| 对方忙线中什么意思| 梦见搬家是什么意思| 舌头生疮是什么原因引起的| 早上8点到9点是什么时辰| 百香果的籽有什么功效| pi是什么| 角化型脚气用什么药膏| edd是什么意思| 孕妇拉肚子是什么原因引起的| 睡不着有什么好办法吗| 血糖是什么引起的| 耳毛念什么| 南瓜什么颜色| 7月23日什么星座| 喝酒睡不着是什么原因| 星星是什么的眼睛| 情有独钟什么意思| 总做噩梦是什么原因| 匹夫是什么意思| 百度

安全三原则是指什么

GCC supports different dialects of C, corresponding to the multiple published ISO standards. A particular standard can be selected using the -std= command-line option.

C2y Support in GCC

GCC has experimental and incomplete support for ISO C2y. 百度 Malaysiasveteranex-leaderMahathirMohamadsaidFridaythatmissingflightmighthavebeentakenoverremotelyinabidtofoilahijack,reOceanandtheAustralian-ledhunt,thelargestinaviationhistory,,allofthemonwesternIndianOceanshores,,inanareanortho,commissionedbyMalaysiaona"nofind,nofee",92,whoisleadinganoppositionbidtotopplescandal-taintedMalaysianPrimeMinisterNajibRazakinelectionsduethisyear,eplanemighthavebeentakenoverremotely."Itwasreportedin2006thatBoeingwasgivenalicencetooperatethetakeoverofahijackedplanewhileitisflyingsoIwonderwhetherthatswhathappenedornot,",butattentionsoonshiftedwestwhenitemergedtheplanehadswitchedcourseandheadedovertheIndianOcean--justasitscommunicationsequipmentwasswitchedoff.

C2y can be explicitly selected with the -std=c2y command-line flag, or -std=gnu2y to enable GNU extensions as well.

Feature Proposal Version Notes
Generic selection expression with a type operand N3260 15
Support ++ and -- on complex values N3259 3.0 _Complex added in 3.0
Accessing byte arrays N3254 15
alignof of an incomplete array type. N3273 15
Obsolete implicitly octal literals N3353 15 support for new syntax added but nothing deprecated yet (PR117028)
Named loops N3355 15
Case range expressions N3370 2.0
if declarations N3356 15
Introduce complex literals N3298 2.5
Allow zero length operations on null pointers N3322 15 compiler side only
N3466 16
_Countof N3369, N3469 16
Restartable Functions for Efficient Character Conversions N3366 No Library issue; some predefined macros needed in the compiler
Abs Without Undefined Behavior N3349 N/A Library issue
More Modern Bit Utilities N3367 N/A Library issue; __builtin_stdc_rotate_left and __builtin_stdc_rotate_right builtins added in GCC 15

C23 Support in GCC

GCC has support for ISO C23, the 2023 revision of the ISO C standard (published in 2024).

C23 mode is the default since GCC 15; it can be explicitly selected with the -std=c23 command-line flag, or -std=gnu23 to enable GNU extensions as well.

Feature Proposal Version Notes
New keywords alignas, alignof, bool, false, static_assert, thread_local, true N2934, N2935 13
_Static_assert with no message N2665 9 support for _Static_assert with two arguments was added in C11 and GCC 4.6
Removed support for function definitions with identifier lists N2432 10 removal of old-style function definitions
Removal of unprototyped functions N2841 13 function declarations whose parameter list is empty are treated the same as a parameter list which only contain a single void
strftime supports %OB and %Ob formats 10 (format checking) harmonization with ISO/IEC 9945; glibc support for these formats was added in glibc 2.27
IEEE 754 decimal floating-point types (Optional) N2341 4.3 (IA-32, x86-64, PowerPC, S/390)
13 (aarch64)
DEC*_TRUE_MIN macros added in GCC 10
IEEE 754 interchange and extended types (Optional) N2601 7 (binary types)
15 (Annex H suffixes for decimal types and _Decimal64x)
Add *_NORM_MAX constants to <float.h> 10
NaN and Inf macros in <float.h> 11 corresponding built-in functions __builtin_nansdN added
*_IS_IEC_60559 macros in <float.h> 11
__STDC_WANT_IEC_60559_EXT__ supported by <float.h> 11
__STDC_VERSION_*_H__ header version macros 13
Labels before declarations and end of blocks N2508 11
[[]] attribute syntax N2335, N2554 10
__has_c_attribute preprocessor operator N2553 11
[[deprecated]] N2334 10
[[fallthrough]] N2408 10
[[maybe_unused]] N2270, N2662 13 support other than on labels added in GCC 10
[[nodiscard]] N2267, N2448 11
[[noreturn]] N2764 13
[[unsequenced]] and [[reproducible]] N2956 15
u8 character constants N2418 10 for char8_t see N2653
Type change of u8 string literals N2653 13
Introduce storage-class specifiers for compound literals N3038 13
The constexpr specifier for object definitions N3018 13
Support for empty initializer braces N2900 13 some cases were already supported, but not scalars and VLAs
typeof, typeof_unqual N2927, N2930 13 typeof was previously supported as an extension
Improved tag compatibility N3037 14
Bit-precise integer types (_BitInt) N2763, N2775, N2969, N3035 14 (IA-32, x86-64 and AArch64 (little-endian) only)
Improved rules for handling enumerations without underlying types N3029 3.0 allows enums wider than int; adjusted in GCC 13
Enhanced Enumerations (fixed underlying types) N3030 13
#embed N3017 15
nullptr constant N3042 13
__VA_OPT__ N3033 8
Parameter names may be omitted in function definitions N2480 11
Relax requirements for variadic parameter lists N2975 13
Identifier Syntax using Unicode Standard Annex 31 N2836 13
__has_include N2799 5
Type inference for object definitions (auto) N3007 13
#elifdef, #elifndef preprocessor directives N2645 12
#warning N2686 2.0
Binary integer literals N2549 4.3
Formatting for input/output of binary integer numbers 12 mainly a glibc feature; GCC format checking support present
Digit separators N2626 12
unreachable macro in <stddef.h> N2826 13
BOOL_MAX and BOOL_WIDTH macros in <limits.h> 11
ATOMIC_VAR_INIT removed N2886 13
Removal of trigraphs N2940 13 can still be enabled using -trigraphs
<stdckdint.h> header for checked integer arithmetic 14

C17 Support in GCC

C17 brings no major changes, only technical corrections and clarifications.

C17 can be explicitly selected with the -std=c17 command-line flag, or -std=gnu17 to enable GNU extensions as well.

This was the default mode from GCC 8 to GCC 14 (including).

C11 Support in GCC

GCC has support for ISO C11, the 2011 revision of the ISO C standard. This standard is substantially completely supported (but refer to the manual for details) since GCC 4.9.

C11 can be explicitly selected with the -std=c11 command-line flag, or -std=gnu11 to enable GNU extensions as well.

Feature Proposal Version Notes
Atomics (_Atomic, <stdatomic.h>) N1485, N1482 4.9
Thread-local storage (_Thread_local) N1364 4.9
Additional floating-point characteristic macros (<float.h>) 4.6
Alignment support (_Alignas, _Alignof, max_align_t, <stdalign.h>) N1397, N1447 4.7
Unicode characters and strings (<uchar.h>) N1488 4.7 library part: glibc 2.16; originally specified in ISO/IEC TR 19769:2004; previously supported only with options such as -std=gnu11
Type-generic expressions (_Generic) N1441 4.9
Static assertions (_Static_assert) N1330 4.6 static_assert in <assert.h>: glibc 2.16
Anonymous structures and unions N1406 4.6 the basics were first added in GCC 3.0
Typedef redefinition N1360 4.6
Nonreturning functions (_Noreturn and <stdnoreturn.h>) N1478 4.7
Macros to create complex numbers (<complex.h>) N1464 4.7 library part: glibc 2.16
Support for opening files for exclusive access N/A Library issue (glibc 2.x)
Remove the gets function (<stdio.h>) N/A Library issue (glibc 2.16)
aligned_alloc, at_quick_exit, and quick_exit functions (<stdlib.h>) N/A Library issue (glibc 2.16)
struct timespec, timespec_get function in <time.h> N/A Library issue (glibc 2.16)
Threading, <threads.h> (Optional) N/A Library issue (glibc 2.28)
Support for bounds-checking interfaces (Annex K, Optional) N/A Library issue (not implemented)
Support for analyzability (Annex L, Optional) N/A

C99 Support in GCC

C99 is substantially completely supported as of GCC 4.5 (with -std=c99 -pedantic-errors used; -fextended-identifiers also needed to enable extended identifiers before GCC 5), modulo bugs and floating-point issues (mainly but not entirely relating to optional C99 features from Annexes F and G). The following table gives more details of the C99 support in different GCC versions.

This table is based on the list in the foreword to N1256 (ISO/IEC 9899:1999 (E), consolidated with ISO/IEC 9899:1999/Cor.1:2001 (E), ISO/IEC 9899:1999/Cor.2:2004 (E) and ISO/IEC 9899:1999/Cor.3:2007 (E)).

The "Version" column indicates the first GCC version in which support for the relevant feature was substantially present; some bugs or corner cases may have been fixed in later versions; this column is "N/A" if nothing is needed from the compiler for the feature to be substantially supported (for example, if the feature refers to addition of new library functions rather than language features), even if additional compiler features could be useful in conjunction with it. It is assumed that GCC is used with -std=c99 -pedantic-errors (for versions 3.0 and later), as well as -fextended-identifiers in the case of that feature before GCC 5. Where library cooperation is required, it is assumed that a recent version of the GNU C Library is in use, and support with other C libraries may be less good. Where the version listed is before GCC 3.0, it should not be assumed that all corner cases follow C99 before GCC 3.0, even if there is no specific note regarding corner cases.

See below the table for further notes on some issues.

Feature Version Notes
restricted character set support via digraphs and <iso646.h> (originally specified in AMD1) GCC 2.7
wide character library support in <wchar.h> and <wctype.h> (originally specified in AMD1) N/A Library feature, no compiler support required. GCC doesn't have wprintf, wscanf and wcsftime format checking support.
more precise aliasing rules via effective type N/A Optimization, no compiler support required. GCC has optimized based on aliasing rules since GCC 2.95.
restricted pointers GCC 2.95
variable length arrays GCC 0.9 Various corner cases fixed in GCC 4.5.
flexible array members GCC 3.0
static and type qualifiers in parameter array declarators GCC 3.1
complex (and imaginary) support in <complex.h> GCC 3.0 New functions are a library issue not requiring much compiler support (some built-in functions present). Complex numbers are supported with __complex__ since GCC 2.5, and with C99 _Complex since GCC 3.0. Complex multiplication and division support C99 special cases since GCC 4.0. Various corner cases were fixed in GCC 4.5. GCC does not support the Annex G imaginary types, but this support is optional, and complex multiplication and division have excess overflows at runtime (although not beyond those permitted by C99).
type-generic math macros in <tgmath.h> N/A Library feature; GCC built-in functions may be used in implementing it.
the long long int type and library functions ≤ GCC 1.27 New functions are a library issue not requiring much compiler support (some built-in functions present).
increased minimum translation limits GCC 0.9 GNU policy has always avoided arbitrary limits.
additional floating-point characteristics in <float.h> GCC 3.0
remove implicit int GCC 3.0
reliable integer division GCC 0.9
universal character names (\u and \U) GCC 3.1
extended identifiers GCC 4.1 Some corner cases were fixed in GCC 5; -fextended-identifiers was needed to enable this feature before that version.
hexadecimal floating-point constants and %a and %A printf/scanf conversion specifiers GCC 2.8 Conversion specifiers are a library issue (format checking support present).
compound literals GCC 3.1 The syntax was supported by GCC by version 1.21, but with significant differences from C99 requirements until GCC 3.1.
designated initializers GCC 3.0 The syntax was supported since GCC 2.5, but with significant differences from C99 requirements until GCC 3.0.
// comments GCC 2.7
extended integer types and library functions in <inttypes.h> and <stdint.h> N/A All of this can be provided by the library rather than the compiler (some built-in function support also present). <stdint.h> is provided by GCC (as of version 4.5), or fixed where the system headers provide a nonconforming version, on some but not yet all systems. On systems where types in this header have been defined as char, GCC retains this definition although it is not permitted by C99.
remove implicit function declaration GCC 3.0
preprocessor arithmetic done in intmax_t/uintmax_t GCC 3.3
mixed declarations and code GCC 3.0
new block scopes for selection and iteration statements GCC 3.0
integer constant type rules GCC 3.3
integer promotion rules GCC 4.0
macros with a variable number of arguments GCC 2.95
the vscanf family of functions in <stdio.h> and <wchar.h> N/A Library feature, no compiler support required (format checking support present).
additional math library functions in <math.h> N/A Library feature, no compiler support required (various built-in functions present).
treatment of error conditions by math library functions (math_errhandling) N/A Library feature, no compiler support required.
floating-point environment access in <fenv.h> N/A Library feature, no compiler support required.
IEC 60559 (also known as IEC 559 or IEEE arithmetic) support Optional feature, not properly supported in GCC.
trailing comma allowed in enum declaration GCC 0.9
%lf conversion specifier allowed in printf N/A Library feature, no compiler support required (format checking support present).
inline functions GCC 4.3 Inline function support present since at least GCC 1.21, but with major differences from C99 semantics until 4.3.
the snprintf family of functions in <stdio.h> N/A Library feature, no compiler support required (format checking support present).
boolean type in <stdbool.h> GCC 3.0 GCC 2.95 had <stdbool.h>, but based on an early draft with major differences from C99 semantics.
idempotent type qualifiers GCC 3.0 Always has been allowed, with a warning as required by C90 depending on GCC version.
empty macro arguments GCC 0.9 Undefined behavior in C90, but GCC not known ever to have handled them contrary to C99.
new structure type compatibility rules (tag compatibility) GCC 0.9 This relates to compatibility between translation units.
additional predefined macro names GCC 3.0 Support for the compiler to implicitly preinclude a file stdc-predef.h provided by the C library, and so predefine macros relating to library properties for the whole translation unit, is new in GCC 4.8.
_Pragma preprocessing operator GCC 3.0
standard pragmas Not implemented. Associated command-line options to control the state of the pragmas for the whole translation unit are available.
__func__ predefined identifier GCC 2.95
va_copy macro GCC 3.0
additional strftime conversion specifiers N/A Library feature, no compiler support required (format checking support present).
LIA compatibility annex N/A This annex describes how C relates to another standard, and does not impose any requirements on C implementations.
deprecate ungetc at the beginning of a binary file N/A Library feature, no compiler support required.
remove deprecation of aliased array parameters GCC 0.9 GCC has never done anything regarding this deprecation.
conversion of array to pointer not limited to lvalues GCC 3.1 Some support since GCC 2.0, but with major differences from C99 requirements before GCC 3.1.
relaxed constraints on aggregate and union initialization ≤ GCC 1.21
relaxed restrictions on portable header names GCC 0.9 GCC has never had such restrictions itself.
return without expression not permitted in function that returns a value (and vice versa) GCC 3.0

C90 Support in GCC

GCC has support for ISO C90; it can be explicitly selected with the -std=c90 command-line flag, or -std=gnu90 to enable GNU extensions as well.

Further notes

peb是什么意思 手上长小水泡是什么原因 尪痹片主治什么 辛亥革命是什么时候 努嘴是什么意思
大三阳吃什么药好 psd是什么意思 kenwood是什么牌子 胃癌吃什么药 什么是金砖国家
8月28日什么星座 亲密是什么意思 渡劫是什么意思 乳香是什么东西 喝什么茶不影响睡眠
寒疾现代叫什么病 阴道口有点痒用什么药 水猴子是什么 破伤风什么时候打最好 老年性脑改变是什么意思
杏仁吃了有什么好处hcv7jop5ns4r.cn 查乳腺挂什么科hcv7jop5ns0r.cn 妈妈的表妹叫什么hcv8jop9ns3r.cn 胃间质瘤是什么性质的瘤hcv7jop7ns2r.cn 口苦口干是什么原因造成的hcv7jop6ns1r.cn
57年属什么生肖hcv9jop4ns0r.cn nsa是什么意思hcv8jop9ns6r.cn 清炖羊肉放什么调料hcv8jop4ns0r.cn 右耳痒是什么预兆hcv8jop6ns9r.cn 血压过低有什么危害hcv8jop8ns0r.cn
三教九流什么意思xinjiangjialails.com 马走日是什么意思xianpinbao.com 邮政ems是什么意思hcv9jop0ns6r.cn 尿潴留是什么病hcv8jop1ns9r.cn 老年人脚肿吃什么药hcv8jop7ns5r.cn
女人喝什么调节内分泌hcv7jop6ns4r.cn 8月底是什么星座hcv9jop2ns6r.cn ena是什么检查项目hcv8jop2ns9r.cn 脂肪肝能吃什么水果hcv8jop3ns9r.cn 2016年属什么生肖aiwuzhiyu.com
百度