UnityアクセスSDK

1. マネージド コードとアンマネージド コード

C# はマネージ言語であり、C++ はアンマネージ言語です。

マネージ コードとアンマネージ コードの違い
1. マネージ コードは CLR 上で実行される中間言語であり、アンマネージ コードはマシン コードにコンパイルされ、マシン上で実行されます。

2. マネージ コードはプラットフォームや言語に依存せず、異なる言語プラットフォーム間の互換性をより適切に実現できますが、アンマネージ コードはプラットフォームと言語に依存します。

3. マネージド コードは、CLR によって提供されるサービス (セキュリティ検出、ガベージ コレクションなど) を利用でき、これらの操作を単独で完了する必要はありません。アンマネージ コードは、セキュリティ検出、ガベージ コレクション、その他の操作を単独で提供する必要があります。 。 

C# は C++Dll ライブラリを呼び出すときに [DllImport] 機能を使用する必要があります

2.DLLファイル

DLL ファイルは、アセンブリとも呼ばれるダイナミック リンク ライブラリであり、複数のプログラムで同時に使用できるコードとデータを含むライブラリです。

アセンブリは、.NET 共通言語ランタイム (CLR) の制御下で実行される機能の論理単位です。アセンブリは実際には .dll ファイルまたは .exe ファイルとして存在します。

マネージド コードによって生成された DLL ファイルは、参照を追加することで VS で直接使用できます。

C++ で記述されたコードのコンパイルによって生成される DLL など、アンマネージ コードによって生成される DLL ファイルは、VS で直接参照することはできませんが、DllImport メソッドを通じて使用できます。

3. DLLImportの使用

1. DLL ファイルを Unity プロジェクト フォルダー (プラグイン) にインポートします。

2. 参照名前空間

using System.Runtime.InteropServices;

3. 関数の宣言

[DllImport(“SDK”, EntryPoint=“Init”, CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Unicode)]

public static extern void Init(string EntName);

知らせ:

  1. 特性パラメータ
    1.  DLLライブラリファイル名
    2.  CallingConvention エントリ ポイントの呼び出し規則
    3.  Charset エントリ ポイントで使用される charset
    4. EntryPoint エントリポイント名
  2. 方法
    1. 戻り値
    2. パラメータリスト

おすすめ

転載: blog.csdn.net/weixin_53163894/article/details/131678595