• 如何调用 DLL 中的函数


    如何调用LL 中的函数

     

    在 DLL工程中的 cpp中函数定义如下:

    extern "C" _declspec (dllexport )

          int add(int a, char b)

    {

          return a + b;

    }

     

     

    一:显示链接

    调用的 DLL的主工程的 main文件中代码如下:

    #include <stdio.h>

    #include <Windows.h>

    #include <tchar.h>

     

    int main()

    {

          HMODULE hModule = NULL;

          typedef int (*Func)(int a, int b);

     

          // 动态加载 DLL 文件

          hModule = LoadLibrary(_TEXT("..//Debug//FuncDll.dll" ));

     

          // 获取 add 函数地址

          Func fAdd = (Func)GetProcAddress(hModule, "add" );

     

          // 使用函数指针

          printf("%d/n" , fAdd(5, 2));

     

          // 最后记得要释放指针

          FreeLibrary(hModule);

     

          return 0;

    }

     

    二:隐式链接:

    调用的 DLL的主工程的 main文件中代码如下:

    #include <stdio.h>

    #include <Windows.h>

    #include <tchar.h>

     

    // 先把 lib 链接进来

    #pragma comment (lib , "..//Debug//FuncDll.lib" )

     

    // 外部声明的 add 函数

    extern "C" _declspec (dllimport )

          int add(int a, char b);

     

    int main()

    {

          // 直接调用 add 函数

          printf("%d/n" , add(5, 2));

     

          return 0;

    }

  • 相关阅读:
    Zju1876 Edit Step Ladders
    Candy糖果盒
    哈希
    最长上升子序列 nlogn
    电费结算
    【luoguP5656】二元一次不定方程(gcd,exgcd,裴蜀定理,不定方程初步)
    DP技巧
    高精
    【CSP烤前注意】
    [Jsoi2015] 种花
  • 原文地址:https://www.cnblogs.com/java20130722/p/3207215.html
Copyright © 2020-2023  润新知