阅读:1674回复:0
关于编译器生成__declspec(naked)风格函数的问题!
我的驱动中有5个__declspec(naked)风格的函数,其中有的函数大小相同,所以编译时就生成了一个函数,也就是说2个函数指向了一个地址.
__declspec(naked) void function1 () { __asm { _emit 0x90 _emit 0x90 _emit 0x90 _emit 0x90 _emit 0x90 } } __declspec(naked) void function2 () { __asm { _emit 0x90 _emit 0x90 _emit 0x90 _emit 0x90 _emit 0x90 } } 编译完用IDA一看,function1和function2的地址一样,也就是编译器做了优化! 有没有办法避免这种"优化"? 怎么才能保证这5个函数都单独生成! 希望有了解的朋友给些帮助,非常感谢! |
|