VC调用动态链接库的错误



VC调用动态链接库的错误(Run-Time Check Failure #0

  (2009-05-27 11:26:26)
标签: 

杂谈

分类: 学习记录

今天在网上看了一个杀进程的程序,复制过来编译,结果执行完后报错:Run-Time Check Failure #0   The value of ESP was not properly saved across a function call.This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.

想了很久还是不知道错误,于是上网查,我要调用的动态库里的函数是远C函数,所以在函数指针定义是要如下格式:

 也就是在函数指针前面加上__stdcall就可以了。

typedef int (__stdcall*lpE_Pro_KillProcessByName)(IN const char* pchar_param_ProName);

HINSTANCE hDll; //DLL句柄
    lpE_Pro_KillProcessByName KillProcessByName;
    hDll = LoadLibrary("WinAPIExS.dll");
    if (hDll != NULL)
    {
     KillProcessByName=(lpE_Pro_KillProcessByName)GetProcAddress(hDll, "E_Pro_KillProcessByName");
     if (KillProcessByName != NULL)
     {
      const char procname[]="Thunder5.exe";
      KillProcessByName(procname);
     }
     FreeLibrary(hDll);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值