0
在处理器堆栈上push mov和pop等都是单个指令。用户堆栈的单指令推/弹而不是附件功能调用?
编译源代码时,编译器生成单机指令版本,但在运行期间,假设堆栈是...以及常规堆栈容器,在运行时访问存储在堆栈中的值需要函数调用翻译成吨机器码。
对于动态运行时对象,可以达到相同级别的效率,而不是使用比单个机器指令长的setter和getter成员函数?
我的想法是使用标记指针,但我不知道如何从字面上将其值推入内存位置,或者在运行时从内存位置中将其值推入,而不诉诸函数调用。
内联程序集可能是一个选项,我想尽量避免。但我想我仍然必须把它放在一个函数体内,所以它不会是一个单一的指令。
你知道一个编译器可以内嵌C函数吗? – Borealid
将想法正确地表达为函数,真正*好的*编译器*可以*为您开箱即用地管理它。内联可以让你获得最大的收益,而大多数现代编译器都可以做到这一点。尝试检查您正在使用的编译器的汇编输出。 – dmckee