如何编译的时候不要函数头?

时间:2022-01-20 19:08:55
我在VC中写了一个方法
void abc()
{
  __asm mov eax,eax
}

编译器编译出来后 会加上很多平衡堆栈的东西比如:
push ebp
mov ebp,esp
push edx
push esi
mov eax,eax
pop esi
pop edx
pop ebp

怎么能让编译器不加那些东西?

4 个解决方案

#1


__declspec(naked) 
{

__asm mov eax,eax 
    

#2


__declspec(naked) abc()
{
  _asm mov eax, eax;
}

#3


好像还有个办法能设VC的某个项。能不能解决楼主问题就不知道了。

#4


这种技术已经加了很久了.

你何必去钻牛角尖呢.

函数退出,堆栈清空也很复杂.

#1


__declspec(naked) 
{

__asm mov eax,eax 
    

#2


__declspec(naked) abc()
{
  _asm mov eax, eax;
}

#3


好像还有个办法能设VC的某个项。能不能解决楼主问题就不知道了。

#4


这种技术已经加了很久了.

你何必去钻牛角尖呢.

函数退出,堆栈清空也很复杂.