📜  c++ dll 导出 - C++ (1)

📅  最后修改于: 2023-12-03 14:59:44.792000             🧑  作者: Mango

C++ DLL 导出

本文将介绍如何在 C++ 中创建和导出 DLL(动态链接库),以及如何在其他编程语言中使用这些 DLL。

什么是 DLL?

DLL 是一种动态链接库,它可以在程序运行时被加载。它包含已编译的代码和数据,可以被其他程序动态链接到这个程序中,使得这个程序可以调用 DLL 中的函数和方法。这种方式可以让程序更加模块化,并且可以提高代码的复用性。

创建 DLL

在 C++ 中创建 DLL 非常简单。下面是一个简单的示例:

// 在 Visual Studio 中,可以通过选择“Win32 项目”中的“DLL”模板来创建 DLL。

// 将下面的代码保存为 .cpp 文件,然后将其编译为 DLL。
#include "stdafx.h"

// 导出函数,可以通过 dllexport 关键字来声明
extern "C" __declspec(dllexport) int Add(int a, int b)
{
    return a + b;
}

上面的代码创建了一个名为 Add 的函数,并且使用 dllexport 关键字将其声明为导出函数。在导出函数之前,需要用 __declspec(dllexport) 关键字来修饰它。

导入 DLL

在其他编程语言中使用 DLL 可以非常简单,只需要使用相应的函数库即可。下面是一个 Python 的示例:

# 使用 ctypes 库来导入 DLL。
import ctypes
mydll = ctypes.windll.LoadLibrary(r"path\to\dll.dll")
result = mydll.Add(1, 2)
print(result)

在 Python 中,我们使用 ctypes 库来加载 DLL。在加载 DLL 之后,我们就可以使用其中导出的函数了。在上面的代码中,我们加载了名为 dll.dll 的 DLL,然后调用了其中导出的 Add 函数,将参数 1 和 2 传入,并打印了返回的结果。

总结

通过本文,您已经学会了如何在 C++ 中创建和导出 DLL,并且了解了如何在其他编程语言中使用这些 DLL。DLL 可以提高代码的复用性和模块化程度,使得您的程序更加易于维护和扩展。