IF,ELSE,FOR宏的目的是什么?

psi*_*lia 4 c algorithm coding-style

我有一个库的源代码,它有很多奇怪的IF,ELSE,FOR等宏用于所有常见的C关键字,而不是只使用通常的if,else,for,while关键字.这些宏的定义如下:

 #define IF( a) if( increment_if(), a)
Run Code Online (Sandbox Code Playgroud)

其中increment_if()函数定义如下:

static __inline void increment_if( void) {
    // If the "IF" operator comes just after an "ELSE", its counter
    // must not be incremented.
    ... //implementation
}
Run Code Online (Sandbox Code Playgroud)

我真的不明白,这类宏的目的是什么?这个库是用于实时应用程序的,我想使用这样的宏必须减慢应用程序的速度.

And*_*gor 10

这些宏将有两个版本,一个只是普通的if语句,另一个是计算该语句的执行次数.这样做的原因是进行性能分析统计.如果计算每个代码块的执行次数,则可以计算每个代码块的执行时间.

在实时应用程序中,每个操作的时间是可预测的更为重要,因此您可以计算应用程序是否满足其最后期限.事实上,仅仅是快速是不够的,只要满足最后期限,这就是所需要的.