-1

C++ ライブラリとクラスを使用して C# 言語でプログラムを作成できますか? もしできるなら、どうやって?

4

2 に答える 2

2

P/Invokeマネージ コードからアンマネージ コードを呼び出すために使用できます。putsアンマネージ関数を呼び出す例を次に示します。

using System;
using System.Runtime.InteropServices;

class Program
{
    [DllImport("msvcrt.dll")]
    public static extern int puts([MarshalAs(UnmanagedType.LPStr)] string m);
    [DllImport("msvcrt.dll")]
    internal static extern int _flushall();

    public static void Main() 
    {
        puts("Hello World!");
        _flushall();
    }
}

ここでの考え方は、呼び出したいアンマネージド メソッドのシグネチャと一致するマネージド ラッパーを宣言することにあります。externメソッドがキーワードでマークされ、DllImport実装されている場所を示す属性で装飾されていることに注目してください。

于 2013-03-31T18:54:50.850 に答える
1

間違いなくできます!

既存のライブラリがある場合 @Darin が参照しているメカニズムは自動的に実行できます。www.swig.org

于 2013-03-31T18:57:24.727 に答える