首页
社区
课程
招聘
[求助]请教个vc8编译选项
发表于: 2008-1-29 16:34 4979

[求助]请教个vc8编译选项

2008-1-29 16:34
4979
我有一个函数
static void TestPro()
{
        __asm
        {
                pushad
                        mov eax, 0x00401000
                        call eax
                        popad
        }
}
编译后
00401460   .  53            PUSH EBX
00401461   .  56            PUSH ESI
00401462   .  57            PUSH EDI
00401463   .  60            PUSHAD
00401464   .  B8 00104000   MOV EAX,Test.00401000
00401469   .  FFD0          CALL EAX
0040146B   .  61            POPAD
0040146C   .  5F            POP EDI
0040146D   .  5E            POP ESI
0040146E   .  5B            POP EBX
0040146F   .  C3            RETN
有没办法不让编译器生成这些保护代码呢
00401460   .  53            PUSH EBX
00401461   .  56            PUSH ESI
00401462   .  57            PUSH EDI

0040146C   .  5F            POP EDI
0040146D   .  5E            POP ESI
0040146E   .  5B            POP EBX

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 462
活跃值: (53)
能力值: ( LV9,RANK:460 )
在线值:
发帖
回帖
粉丝
2
使用naked调用约定,具体参考MSDN
2008-1-29 17:02
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
tks  搞定
2008-1-29 17:34
0
雪    币: 1657
活跃值: (291)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
4
LZ修改如下:
void _stdcall TestPro()

void WINAPI TestPro()
2008-1-29 19:19
0
雪    币: 2134
活跃值: (14)
能力值: (RANK:170 )
在线值:
发帖
回帖
粉丝
5
__declspec( naked ) static void  TestPro()
2008-1-30 02:27
0
雪    币: 243
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
又学了一招!
2008-2-1 09:41
0
游客
登录 | 注册 方可回帖
返回
//