能力值:
( LV9,RANK:1210 )
|
-
-
2 楼
内嵌汇编可以用naked调用规则
|
能力值:
( LV13,RANK:530 )
|
-
-
3 楼
同意楼上的。。。作为一个子过程 可以不管EBP的,
当然你也可以用ASM编译为了LIB或者OBJ再来链接
|
能力值:
(RANK:10 )
|
-
-
4 楼
郁闷,说的晚了我都改完了
naked call
其他调用约定时,如果必要的话,进入函数时编译器会产生代码来保存ESI,EDI,EBX,EBP寄存器,退出函数时则产生代码恢复这些寄存器的内容。naked call不产生这样的代码。
那不是很危险了
|
能力值:
(RANK:10 )
|
-
-
5 楼
郁闷
__declspec(naked) void __stdcall test()
{
_asm
{
push ebp
mov ebp,1
mov edx,1
lea ecx,dword ptr ds:[edx+ebp]
pop ebp
}
}
被别的程序调用只是一个出错,超级郁闷
|
能力值:
(RANK:10 )
|
-
-
6 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
naked调用怎么传参数进去?
比如
__declspec(naked) void __stdcall test(DWORD para)
{
_asm
{
push ebp
mov eax,para ; ------> 可以这样写吗?
mov ebp,1
mov edx,1
lea ecx,dword ptr ds:[edx+ebp]
pop ebp
}
}
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
似乎delphi没有这种问题?
|
能力值:
(RANK:10 )
|
-
-
9 楼
最初由 kryso 发布 似乎delphi没有这种问题?
恩 delphi 确实没有此类问题
可能是delphi内存回收机制的不同,所以delphi没vc执行效率高,vc没delphi好“骗”钱呵呵
|
|
|