C语言的默认值取决于编译器的版本的术语

C语言简介

C 语言是在 1970 年代作为一种系统编程语言开发的,即使经过了这么长时间,它仍然非常流行。系统语言旨在提供高级编程能力,同时实现对底层硬件的高性能和轻松访问。虽然其他语言可能会提供更新的语言功能,但它们的编译器和库通常是用 C 编写的。

根据 TIOBE 指数,自 2001 年以来,C 一直是最流行的编程语言或第二流行的编程语言。C 语言的流行很可能是由于该语言的几个原则,即所谓的 C 精神语言。

C 语言 C 标准简史

C 标准(ISO/IEC 9899:2018) 定义了语言并且是语言行为的最终权威。虽然该标准可能晦涩难懂,但如果您打算编写可移植、安全和有保证的代码,您需要了解一下。C标准为实现提供了很大的自由度,以便在各种硬件平台上实现最佳效率。实现是C标准用来指代编译设备的术语定义如下。

一组特定的软件学校c语言用什么软件,在特定的控制选项下运行在特定的翻译环境中,为特定的执行环境进行程序翻译,并支持功能的执行。

此定义指出,每个具有特定命令行标志的编译器以及 C 标准库都被视为一个单独的实现,并且不同的实现可以具有显着不同的实现定义的行为。这在 GNU Compiler Collection (GCC) 中很明显,它使用 -std= 标志来确定语言标准。此选项的可能值包括 c89、c90、c99、c11、c17、c18 和 c2x。默认值取决于编译器的版本。如果没有给出 C 语言选项,GCC10 默认为 -std=gnu17,它提供了 C 语言的扩展。为了便于携带学校c语言用什么软件,请指定您使用的标准。要获得新的语言功能,请指定最新的标准。在 GCC 8 及更高版本中,一个不错的选择 (2019) 是 -std=c17。

由于实现有这么多的行为,其中一些是未定义的,仅仅通过编写一个简单的测试程序来检查行为是不可能理解C语言的。当由不同平台上的不同实现编译时,代码的行为可能会有所不同,甚至是使用不同标志集或不同 C 标准库实现的相同实现。代码行为甚至可以在不同版本的编译器之间有所不同。 C 标准是唯一指定所有实现都保证哪些行为以及您需要在哪里规划可变性的文档。这主要是开发可移植代码时的一个问题,但也会影响代码的安全性。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论