C 编码风格(模块化编程等)如何影响编译时间?

C 编码风格(模块化编程等)如何影响编译时间?,c,microcontroller,codewarrior,C,Microcontroller,Codewarrior,我用两种方法在飞思卡尔codewarrior中编写了大约4700行的简单C代码。在这两种方式中,行数和内容都是相同的。代码主要包含if-else循环。尽管内容相同,但样式1需要40秒,而样式2需要10秒。这两种样式的详细信息如下: 风格1 大部分代码都写在一个循环中,这个循环每10ms调用一次 风格2 与样式1相同,只是代码被分成4-5个函数,这些函数在同一个循环中调用 编译器如何处理这两种样式?为什么样式2比样式1花费的时间要少得多?以及人类读者阅读这两个源文件需要多少时间?如果或其他没有循环

我用两种方法在飞思卡尔codewarrior中编写了大约4700行的简单C代码。在这两种方式中,行数和内容都是相同的。代码主要包含if-else循环。尽管内容相同,但样式1需要40秒,而样式2需要10秒。这两种样式的详细信息如下:

风格1

大部分代码都写在一个循环中,这个循环每10ms调用一次

风格2

与样式1相同,只是代码被分成4-5个函数,这些函数在同一个循环中调用


编译器如何处理这两种样式?为什么样式2比样式1花费的时间要少得多?

以及人类读者阅读这两个源文件需要多少时间?
如果
或其他没有循环语句。代码越多,编译所需时间越长,但调用函数可能意味着运行所需时间越长。样式1示例中的代码范围越大,编译器可能有更多机会应用优化,这需要时间来解决。使用单独编译、增量编译和编译器优化等因素可能适用,但你没有提供这些信息。乐观主义者可能需要在大型函数上更加努力。那么人类读者阅读这两个源文件需要花费多少时间?
如果
else
没有循环语句。代码越多,编译所需时间越长,但调用函数可能意味着运行所需时间越长。样式1示例中的代码范围越大,编译器可能有更多机会应用优化,这需要时间来解决。使用单独编译、增量编译和编译器优化等因素可能适用,但你没有提供这些信息。乐观主义者可能需要在大型功能上更加努力。