Visual studio 使用C语言 生成DLL 文件 并用 C 调用DLL

时间:2024-04-04 12:20:29

生成DLL:

新建项目-C++-动态链接库(DLL)

Visual studio 使用C语言 生成DLL 文件 并用 C 调用DLL

项目-右键-属性-C/C++-预编译头:不使用预编译头。

Visual studio 使用C语言 生成DLL 文件 并用 C 调用DLL

 项目-右键-属性-C/C++-高级:编译为:C。

Visual studio 使用C语言 生成DLL 文件 并用 C 调用DLL 

添加相应的.h和.c文件

在.h中,对外开放的接口前 加注 __declspec(dllexport)

Visual studio 使用C语言 生成DLL 文件 并用 C 调用DLL

 

调用DLL:

将.dll 和 .lib放在与Debug同级目录

项目右键-属性-VC++目录-库目录-将.dll和.lib所在文件夹目录写入库目录中

Visual studio 使用C语言 生成DLL 文件 并用 C 调用DLL

项目-资源文件右键添加现有项-将.lib添加进去 或者 直接#pragma comment(lib,"Dll1.lib")

需要使用三个函数:LoadLibrary,GetProcAddress和FreeLibrary

 HMODULE module = LoadLibraryA("CreatDll.dll");
    if (module == NULL) 
    {
        system("error load");
    }

test_print = (void(*)(char const*))GetProcAddress(module, "test_print");

if ( test_print != NULL) 
    {
         test_print("输出测试");
    }

FreeLibrary(module);