单谈C ,你上面的解释,前面对,后面胡扯蛋。函数调用的方式和压栈出栈没联系。内联和静态完全不等价。内联和宏定义等价(如果确实内联进去了)。
静态函数,唯一能说“静态”是和link有关。关于函数代码所在的空间。不存在多占内存少占内存的问题。
极端情况下,内联函数导致代码量增加,由此导致从内存读取到CPU中的费用开销增加,由此效率降低,是会发生的。正常情况下,内联的代码可以和被嵌入的函数其他代码进行综合优化,效率肯定比CALL一个函数来的高。仅指令计算方面,跳转的费用是最高的。正常一个函数CALL 和RETURN,合起来超过10个cycle是事实。而可能内联的函数里,实际执行的费用也不过5,6个cycle就处理掉了。
单谈C ,你上面的解释,前面对,后面胡扯蛋。函数调用的方式和压栈出栈没联系。内联和静态完全不等价。内联和宏定义等价(如果确实内联进去了)。
静态函数,唯一能说“静态”是和link有关。关于函数代码所在的空间。不存在多占内存少占内存的问题。
极端情况下,内联函数导致代码量增加,由此导致从内存读取到CPU中的费用开销增加,由此效率降低,是会发生的。正常情况下,内联的代码可以和被嵌入的函数其他代码进行综合优化,效率肯定比CALL一个函数来的高。仅指令计算方面,跳转的费用是最高的。正常一个函数CALL 和RETURN,合起来超过10个cycle是事实。而可能内联的函数里,实际执行的费用也不过5,6个cycle就处理掉了。
引用来自“中山野鬼”的答案
单谈C ,你上面的解释,前面对,后面胡扯蛋。函数调用的方式和压栈出栈没联系。内联和静态完全不等价。内联和宏定义等价(如果确实内联进去了)。
静态函数,唯一能说“静态”是和link有关。关于函数代码所在的空间。不存在多占内存少占内存的问题。
极端情况下,内联函数导致代码量增加,由此导致从内存读取到CPU中的费用开销增加,由此效率降低,是会发生的。正常情况下,内联的代码可以和被嵌入的函数其他代码进行综合优化,效率肯定比CALL一个函数来的高。仅指令计算方面,跳转的费用是最高的。正常一个函数CALL 和RETURN,合起来超过10个cycle是事实。而可能内联的函数里,实际执行的费用也不过5,6个cycle就处理掉了。
引用来自“Rifle”的答案
引用来自“中山野鬼”的答案
单谈C ,你上面的解释,前面对,后面胡扯蛋。函数调用的方式和压栈出栈没联系。内联和静态完全不等价。内联和宏定义等价(如果确实内联进去了)。
静态函数,唯一能说“静态”是和link有关。关于函数代码所在的空间。不存在多占内存少占内存的问题。
极端情况下,内联函数导致代码量增加,由此导致从内存读取到CPU中的费用开销增加,由此效率降低,是会发生的。正常情况下,内联的代码可以和被嵌入的函数其他代码进行综合优化,效率肯定比CALL一个函数来的高。仅指令计算方面,跳转的费用是最高的。正常一个函数CALL 和RETURN,合起来超过10个cycle是事实。而可能内联的函数里,实际执行的费用也不过5,6个cycle就处理掉了。
引用来自“nsnail”的答案