首頁 >後端開發 >C#.Net教程 >C#呼叫C++ 動態連結函式庫dll

C#呼叫C++ 動態連結函式庫dll

黄舟
黄舟原創
2017-02-27 11:28:102295瀏覽

在過程中發現兩種方法解決問題:一種是非託管C++所建立的dll函式庫,需要用靜態方法呼叫。這種方法無法在C#的reference中直接引用,而是要用靜態呼叫的方法,其他部落格已經介紹的很詳盡,唯一需要補充的是,C#檔需要先:

using System.Runtime.InteropServices;

之後才可以呼叫[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";
		}
	};
}

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();
        }
    }
}

           

 以上就是C#呼叫C++ 動態連結函式庫dll 的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn