我想在堆上声明一个新变量(我不想使用堆栈)。 我该怎么做?我想知道这个指示? 假设有10个变量使用堆栈,我想改变它们的位置并将它们放在堆上。
答案 0 :(得分:3)
简单回答,在C中编写一个使用getmem
的简单应用程序
拿起反汇编程序并查看编译器生成的x64代码
您必须在汇编程序中重现相同的代码。
更长的回答:
没有x64指令可以将东西放在堆上,这需要大约100条指令才能完成,这就是人们调用库函数的原因。
库函数经过高度优化,因此不必费心重新发明该轮
一旦你有了内存引用,它只是一个简单的指针。汇编优于指针操作,因此应该很容易。