首页 > 编程语言 >C#调用C++动态链接库dll之P/Invoke方式 — 1.无参无返回值函数调用

C#调用C++动态链接库dll之P/Invoke方式 — 1.无参无返回值函数调用

时间:2023-01-20 20:45:08浏览次数:36  
标签:无参 Invoke C# void 函数调用 dll CPPTest HelloWorld C++

1.新建一个C++空项目CPPTest

2.新建一个PInvokeTest.cpp文件,并写下如下代码

  需要注意:下文中的两个函数名HelloWorld需要完全一致,只有这样才能确保被完全声明为一个其他语言可调用的全局函数。

#include <iostream>

extern "C" __declspec(dllexport) void HelloWorld();
void HelloWorld() {
    std::cout << "hello world!";
}

3.新建一个C#控制台程序CSharpTest

 

4.在C#控制台程序中的Program中加入如下代码

  需要注意:在C#中

 internal class Program
    {
        static void Main(string[] args)
        {
            HelloWorld();
        }
        [DllImport("CPPTest.dll")]
        public static extern void HelloWorld();
    }

5.编译解决方案,在编译完成后将CPPTest.dll复制到CSharpTest项目的exe文件目录下

6.启动......搞定!

 

标签:无参,Invoke,C#,void,函数调用,dll,CPPTest,HelloWorld,C++
From: https://www.cnblogs.com/ShawBlack/p/17063222.html

相关文章