ホームページ  >  記事  >  バックエンド開発  >  C# は C++ ダイナミック リンク ライブラリ DLL を呼び出します

C# は C++ ダイナミック リンク ライブラリ DLL を呼び出します

黄舟
黄舟オリジナル
2017-02-27 11:28:102232ブラウズ

プロセス中に問題を解決する 2 つの方法を見つけました。1 つはアンマネージ C++ によって作成された DLL ライブラリで、静的メソッドで呼び出す必要があります。このメソッドは C# リファレンスで直接参照できませんが、静的に呼び出す必要があります。詳細は他のブログで紹介されています。追加する必要があるのは、呼び出す前に C# ファイルが

using System.Runtime.InteropServices;

であることだけです。 [DllImport]メソッド。

もう 1 つの方法は、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++ ダイナミック リンク ライブラリ DLL を呼び出す C# の内容です。その他の関連コンテンツについては、お支払いください。 PHP 中国語 Web サイト (www .php.cn) に注意してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。