对于硬件设计人员来说,编写代码来测试硬件是否正常工作或者在资源受限的情况下开发硬件和嵌入式软件通常是有意义的或者是必要的。嵌入式开发人员选择的语言仍然是C,尽管工具和结构化编程取得了进步,但还是会一次又一次地出现基本错误。为了避免这些C语言编程的陷阱,这里有9个给硬件工程师的C语言技巧。
提示1——不要使用“goto”语句
大约二十年前,当计算机编程还处于初级阶段时,程序流是由“goto”语句控制的。这些语句允许程序员中断当前代码行,直接进入不同的代码段。
编程语言最终开始结合函数的思想,这允许程序中断到一段代码,但不需要另一个goto语句,当完成时,函数返回到函数调用后的下一条指令。
提示 #2 – 使用 for(;;) 或 while(1)
如果 goto 不可用,一些硬件工程师可能想知道如何为程序创建无限循环。毕竟,这可能是通过创建返回到 main 顶部的 goto 语句来完成的。答案是利用 C 语言中已经内置的循环语句; for和while。
技巧3——对工作使用适当的条件语句
除了代码的可读性之外,程序执行时间在很大程度上取决于为做出决策而选择的条件结构的类型。许多嵌入式开发工程师熟悉简单if语句的用法;然而,有时工程师没有意识到,如果第一个条件不正确,可以使用else或else if语句。这可以节省处理器的时间,因为不必计算另一个条件语句。
if/else if/else语句可能并不总是合适的。如果有许多可能的条件需要检查,则使用switch语句可能更合适。这允许处理器评估语句,然后从一系列答案中选择下一步应该做什么,而不是不断评估一堆条件。