能力值:
( LV2,RANK:10 )
|
-
-
2 楼
给函数加个参数不就好了?
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
加了,不起作用。本来就有1个参数,又加一个还是没效果。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
extern "C" _declspec(dllexport)char * dll5(char * id,char * temp)
{
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
哪位大神给个返回指令为RETN 4的DLL的例程,我自己研究一下,谢谢!
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
__declspec(naked) void Test()
{
__asm retn 4;
}
int main(int argc, _TCHAR* argv[])
{
Test();
__asm sub esp, 4
MessageBoxA(0, 0, 0, 0);
return 0;
}
这种?
|
能力值:
( LV7,RANK:140 )
|
-
-
7 楼
void _stdcall test(int n)
|
能力值:
( LV3,RANK:35 )
|
-
-
8 楼
一看你就是用的易语言,易语言调用C方式的DLL就会导致堆栈不平衡,因为易语言默认只有__stdcall 解决办法 : BOOL __stdcall TestFunc( char* param) // 函数定义这样写,一个参数就是 retn 4, 两个参数就是 retn 8。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
|
能力值:
( LV12,RANK:340 )
|
-
-
10 楼
_stdcall,并且你的函数有一个4字节参数时: 例如 int __stdcall AddFunc(int a) { return a + 10; }
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
基础知识,调用的约定方式
|
能力值:
( LV4,RANK:50 )
|
-
-
12 楼
你可以了解一下调用约定, C调用约定:__cdecl, 标准调用约定: __stdcall, 快速调用约定:__fastcall 三种调用约定都有其特性.看雪上有很多文章供你参考. 在这里, 你可以使用 __stdcall
|
|
|