工具类– The ANSI-C Standard

ANSI-C标准可能是任何嵌入式软件开发人员都可以使用的最重要的工具之一。 ANSI C标准规定了C语言是什么,其语法,行为和功能。尽管它是编写本星球上大多数嵌入式软件的基础标准,但实际上很少有开发人员阅读过,更不用说打开该标准了。

 ANSIC

虽然该标准主要由编译器供应商用来创建其编译器,但对于开发人员而言仍然极为重要。第一,如果开发人员从未阅读过该标准,您如何知道该语言真正具有哪些功能?编译器供应商经常向该语言添加扩展,从而创建非标准且不易移植的代码。以定义符号的二进制符号为例,如下所示:

整数值= 0x00101100;

上面的声明在编译器中可能是合法的,但不是ANSI-C标准中定义的构造!二进制符号是完全由编译器供应商定义的并且是特定的,这意味着它可能不会移植到其他编译器中,因此应避免使用。

在过去的25年中,C语言仅发布了三个主要版本。这些称为C90,C99和C11。不幸的是,尽管C99标准中存在一些重要的更新和修补程序,但嵌入式软件领域中的许多编译器供应商仍仅支持C90。对C99的更新非常值得,我通常会拒绝使用不支持C99的编译器(现在已经16年了!)。在嵌入式空间中,C11标准尚未实现任何值得讨论的程度。

关于ANSI-C标准的很大一部分是,就标准而言,它是非常实惠的。可以通过Google搜索免费找到标准草案或工作标准。这些草案与最终批准的版本几乎相同。例如,可以在以下链接中找到2005年C99的次要更新的草案版本:

ISO / IEC 9899:TC2

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf

对于更喜欢标准的批准版本的开发人员,通过ANSI商店只需花费60美元!那只不过是两人晚餐的好选择!链接可以在下面找到:

ISO / IEC 9899:2011

http://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2FISO%2FIEC+9899-2012&gclid=CKPWnd6VsMcCFdgQgQodQOwECg

无论开发人员是刚刚起步还是已经编程数十年,拥有ANSI-C标准的副本都是扩展C语言专业知识的绝佳方法。每天只阅读一小部分内容,就会在一个标准的工作年中获得大量的知识。考虑将标准作为您的知识扩展计划的一部分。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.