Electron接入Dll须知

Electron接入Dll须知

说明

  1. Dll运行在window系统上

  2. C# 调用c++编译的Dll,需要动态加载 DllImport

  3. C# 是托管语言:C# 运行在 .NET 或 .NET Core 的托管环境中,因此与 C/C++ 等非托管语言不同。C/C++ 可以直接与操作系统进行交互,而 C# 主要通过 CLR(公共语言运行时)与系统交互。

  4. C# 中不能使用 extern "C" 导出函数extern "C" 是 C++ 中用于导出 C 语言符号的一种方式

  5. 如果你想从 C# 导出函数供其他非托管代码调用,你通常需要使用 C++/CLI 或编写一个 C++ 中间层来处理与托管和非托管代码的交互。

  6. 这是标准的以C风格导出的dll,这样才能被后面的库正常调用

    1
    2
    3
    extern "C"{
    __declspec(dllexport)
    }

dll依赖检查方法

使用DependenciesGui.exe检查依赖和导出的函数

加载问题检查:

  • c和C++混合,没问题(C++、C)
  • 类成员函数,没问题 public: class FaceInfer
  • 构造函数,没问题