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

黄舟
發布: 2017-02-27 11:28:10
原創
2241 人瀏覽過

在過程中發現兩種方法解決問題:一種是非託管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)!


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!