DLL(ダイナミックリンクライブラリ)---ダイナミックリンクライブラリ
最初の理解でDLLを使用することの利点は、プログラムがのみのみDLLライブラリから削除参照を実行するために、すべてのコードをロードせずに実行します。関数がDLLにパッケージ化されているためとDLLファイルの使用はまた、不慮の変更を防ぐために、プログラム、パッケージ化されたDLLファイルの量を減らすことができます。そのため、コンパイラは、私たちのDLLをコンパイルしませんが、直接実行、プログラムの実行には、プラグインの開発に従事多くは、DLLのコード、および暗号化としてパッケージ化され、時に呼び出す必要があります。これは、運用効率を向上させるだけでなく、基本的なセキュリティコードを確実にするために。
DLLを作成します。
1.ライブラリーを作成します。
ケーススタディ
Visual Studioを開き2015(私はvs2015を使用)、新しいプロジェクト:ファイル→→→→新しいプロジェクトは、Visual C#クラスライブラリ(.NET Frameworkの)を選択
私は、名前空間のMYDLLを変更するにはここです。ランダム!
2.以下のコードを追加します。
コードの注意を追加します。
。dllを呼び出し、パブリック静的を要求するように設定されているパブリックアクセス修飾子によって必要なすべての機能
B。あなたはAPIのユニティを呼び出したい場合は、私たちが図書館に2つのDLLの中の統一をインポートする必要があります
2つのUnityAPI希望DLLの紹介:
1.まず、2つのDLLファイルを検索します:
参照の追加
モード1:
オプション2:
右の参照
[参照]をクリックし、ちょうどに従ってライブラリファイルのパスを見つけます
に追加します。プログラムは、私たちのDLLライブラリAの機能にアクセスできるようにします。
テスト機能を追加
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading; 6 using UnityEditor; 7 using UnityEngine; 8 namespace MyDLL 9 { 10 public class Class1 11 { 12 /// <summary> 13 /// 加法运算 14 /// </summary> 15 /// <param name="a"></param> 16 /// <param name="b"></param> 17 /// <returns></returns> 18 public static int Addition(int a,int b) { 19 return a + b; 20 } 21 /// <summary> 22 /// 乘法运算 23 /// </summary> 24 /// <param name="a"></param> 25 /// <param name="b"></param> 26 /// <returns></returns> 27 public static int Multiplication(int a, int b) 28 { 29 return a * b; 30 } 31 /// <summary> 32 /// 减法运算 33 /// </summary> 34 /// <param name="a"></param> 35 /// <param name="b"></param> 36 /// <returns></returns> 37 public static int Subtraction(int a, int b) 38 { 39 return a - b; 40 } 41 42 } 43 }
3.配置生成解决方案
在解决方案中,右键项目选择属性,打开设计界面--应用程序,Unity需要输出 3.5版本及以下版本的dll
保存-》右键解决方案-》生成解决方案,或者
4.找到生成的DLL
生成后,找到我们的DLL文件,文件在我们库项目中的 bin/Debug
目录下
我的文件:
5.调用创建的DLL文件
将找到的自己创建的DLL文件放入Unity的Plugins文件夹下(这里要注意的是Unity 2017.3版本后,库文件需要放在 Plugins文件夹下,才可以正常启用,在这里我是vs2015,无所谓)
1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 5 public class DLLtext : MonoBehaviour { 6 7 void Start () { 8 Debug.Log(MyDLL.Class1.Addition(1, 2)); 9 Debug.Log(MyDLL.Class1.Multiplication(3, 2)); 10 Debug.Log(MyDLL.Class1.Subtraction(4, 2)); 11 } 12 }
打印结果:
OK,到这就这样愉快的结束了!
欢迎指正!