2016wapjpc 发表于 2019-6-26 15:07

回忆动态链接库的调用

   动态链接库的调用有两种,一种是显性,一种是隐性调用,保密性高一点。在调用的代码文件夹中放入写好的dll文件。先隐性调用。


在再callDyna.cpp中调用

调用时一一定要请注意是extern "C" _declspec(dllimport) _stdcallint   Mul(int x, int y);,这样才会调用成功。


对Dyna.dll显性加载进exe内存
//定义函数指针
typedef int (_stdcall *lpMul)(int, int);
typedef int (_stdcall *lpAdd)(int, int);

int main(int argc, char* argv[])
{   //声明函数指针类型变量
          lpMulmyMul;
          lpAddmyAdd;

       HINSTANCEhModule = LoadLibrary("dyna.dll");
        //获取函数地址
        myMul = (lpMul)GetProcAddress(hModule,"_Mul@8");
      myAdd = (lpAdd)GetProcAddress(hModule,"_Add@8");

   //调用函数
        int x = myMul(2,3);
        int y = myAdd(1,8);
        printf("%d %d \n",x,y);
        getchar();
        return 0;
}
调用成功




glk1010282338 发表于 2019-6-26 17:33

看不懂系列!!!!

不劳虎 发表于 2019-6-27 22:42

dyna的源码呢?

不劳虎 发表于 2019-6-27 22:49

不劳虎 发表于 2019-6-27 22:42
dyna的源码呢?

啊,不好意思。刚看到
页: [1]
查看完整版本: 回忆动态链接库的调用