我有一段代码,我不明白为什么它在使用malloc创建数组时使用shl指令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我有一段代码,我不明白为什么它在使用malloc创建数组时使用shl指令相关的知识,希望对你有一定的参考价值。
我正在尝试理解在x86(MASM程序集)中动态分配内存到1D数组时使用shell指令(SHL)的这段代码。我想知道这个人使用shl指令背后的原因。
答案
将一次性移动一次与将其乘以2相同;左移N次与将其乘以2 ** N相同;但是移位通常比实际乘法更快。
对于您展示的代码;它是n
乘以sizeof(int)
。因为sizeof(int)
恰好是4,这意味着它可以向左移动两次(shl eax,2
)而不是做(更昂贵的)乘法。
以上是关于我有一段代码,我不明白为什么它在使用malloc创建数组时使用shl指令的主要内容,如果未能解决你的问题,请参考以下文章
我有这个错误:无法读取 null 的属性“值”,我不明白为啥