C# calls C++ dynamic link library dll

黄舟
Release: 2017-02-27 11:28:10
Original
2293 people have browsed it

在过程中发现两种方法解决问题:一种是非托管C++创建的dll库,需要用静态方法调用。这种方法无法在C#的reference中直接引用,而是要用静态调用的方法,其他博客已经介绍的很详尽,唯一需要补充的是,C#文件需要先:

using System.Runtime.InteropServices;
Copy after login

之后才可以调用[DllImport]方法。

另一种方法是直接使用CLR,生成托管C++dll库。

创建流程

例程如下
C++ dll:

// CPPlibdemo.h
#pragma once

using namespace System;

namespace CPPlibdemo {

	public ref class Class1
	{
		// TODO: Add your methods for this class here.
	public:
			String ^getgreating(){

			return "hello world";
		}
	};
}
Copy after login

C#语言:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CPPlibdemo;

namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            Class1 clrdemo = new Class1();

            Console.Write(clrdemo.getgreating());
            Console.ReadLine();
        }
    }
}
Copy after login

           

 以上就是C#调用C++ 动态链接库dll 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template