gpt4 book ai didi

c - 哪个代码效率更高?调用两次宏或只是将宏分配给一个变量并使用它两次?

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:22 24 4
gpt4 key购买 nike

从下面的“C”代码片段中,哪一个更有效(1 或 2),为什么?请阐明这一点。提前致谢!

//I am doing some operation with this macro.
#define ERRMAP( sts ) ((A_AB( sts ) < FIRST_ERR) ? \
sts : \
((A_AB( sts ) > A_AB( LAST_ERR )) ? \
sts : \
sts_to_errno_m[A_AB( sts ) - FIRST_ERR]))


//Code snippet 1
int some_fun (int sts) {

int i = ERRMAP( sts );
printf(" sts = %d", i);
return i;
}


//Code snippet 2
int some_fun (int sts) {

printf(" sts = %d", ERRMAP( sts ));
return (ERRMAP( sts ));
}

最佳答案

请不要担心“最有效”,而无需首先进行某种重要的测量。 “高效”也可能意味着许多不同的事情。在执行时间方面高效吗?代码大小?内存使用情况? “高效”不是“最快”的同义词。

与其担心哪种方式最快,不如考虑哪种方式最清晰。最昂贵的时间是程序员的时间。

关于c - 哪个代码效率更高?调用两次宏或只是将宏分配给一个变量并使用它两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18650101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com