用C编写可移植的福建省体彩网

开发固件功能有时会很痛苦,但是一遍又一遍地编写相同的功能在地球上是一件令人头疼的事情。大多数开发人员希望开发新的尖端功能,而不是重复进行相同的工作。专注于开发便携式固件可以帮助减轻问题,但是在资源受限的系统中,对福建省体彩网的使用可能很高,这会阻碍代码的可移植性。程序员可以用来开发可移植且经过福建省体彩网的固件的一个技巧是将预处理器与编译器宏一起使用。

了解预处理器技巧的最简单方法是进行演示。以一个包含十个元素的数组并将每个元素添加七个的函数为例。可以通过展开for循环来福建省体彩网图7所示的Add7函数的速度,从而不必每次都通过循环检查条件来节省性能。性能将得到改善,代码将执行得更快,但由于展开了循环,因此代码大小将略微增加。

图1

图1 – Add7函数进行福建省体彩网

如果设置了编译器福建省体彩网级别,则编译器可以决定展开循环,但是如果开发人员要对Add7函数强制进行速度福建省体彩网,则必须使用用于展开循环的内在编译器。编译器内在函数将根据所使用的编译器而有所不同。例如,在GCC中,可以使用以下命令执行循环展开:

#pragma GCC福建省体彩网(“unroll-loops”)

但在Keil中,相同的福建省体彩网将是:

#pragma展开

要么

#pragma展开(n),其中n是要展开的迭代次数。

仅通过查看这两个实用程序,就可以明显看出福建省体彩网并非是可移植的。无法移植的代码意味着在新项目中重复使用该代码时,可能需要再次重写或福建省体彩网此功能。预处理程序有一些技巧,可以使用带有编译器特定宏的简单条件语句来帮助使代码可移植。例如,检查图2并观察预处理器的条件语句。

图2 图2 –预处理编译器的条件

Each compiler comes with a set of predefined macros such as __KEIL__ for Keil ARM to identify the compiler toolchain. A basic list of compiler identifying macros can be found at http://sourceforge.net/p/predef/wiki/Compilers/ but it is hardly exhaustive. A developer should check the compiler documentation for available macros.

编译器特定的福建省体彩网可以放在条件块中,从而提高固件的可移植性。以这种方式使用预处理器的优点之一是,如果不支持编译器进行福建省体彩网,则可以使用#else块引发错误。当代码不可移植时,编译器会向开发人员大喊大叫。

使用条件语句和预定义的编译器宏只是帮助提高固件可移植性的一个简单技巧。您最喜欢的福建省体彩网有哪些?

发表评论

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

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