标签: c microcontroller codewarrior
我用两种方式在freescale codewarrior中编写了大约4700行的简单C代码。在两种方式中,行数和内容相同。代码主要包含if else循环。样式1需要编译器40秒,而样式2需要10秒,尽管内容相同。两种风格的细节如下:
样式1
代码的大部分内容都是在一个循环中编写的,每10ms调用一次。
样式2
与样式1相同,除了代码被分成4-5个函数,这些函数在同一个循环中被调用。
编译器如何处理这两种样式?为什么样式2比样式1花费的时间少得多?