1. 程式人生 > >[Unity3d]呼叫自己封裝的dll

[Unity3d]呼叫自己封裝的dll

之前總感覺會封裝dll元件的都是大牛級別的程式設計師做的事情,然後供給菜鳥級別的呼叫。感覺為了保護自己的原始碼不會被他人知道,然後就封裝一個dll供人家呼叫,那樣就覺得很牛,今天我也嘗試摸索了一下,感覺也就那麼回事,但只是簡單的測試而已,其實會寫封裝的,封裝的好的還是很牛的,哈哈,那讓我們也來假裝“牛”一次吧!

首先要申明的是,unity3d支援C#語言,但只有pro版本才支援.net2.0,其他版本是不支援的,但也只有pc平臺才支援,切記

操作步驟:

1.封裝dll

開啟vs2010,新建專案,選擇類庫,然後命名(這裡的命名就是你封裝的dll的名字),下面我就簡單的封裝一個方法,只做為演示,這樣你就可以封裝更多更好的屬於自己“私有”的方法,這裡私有是有侷限性的,因為有反編譯工具能檢視到你編譯的原始碼的,下面我就演示一下一個神器,.net的反編譯工具(.NET Reflector)。

我先在vs中建立一個類,就一個簡單的靜態方法和靜態類:

namespace dingxiaowei
{
    public static class dxw
    {
        public static string showName(string name)
        {
            return name;
        }
    }
}
然後進行編譯,編譯成的dll,名字為dingxiaowei.dll,然後我們將這個dll檔案拖到反編譯器,我們看一下反編譯出來的是啥?

類:,反編譯能看到dxw類中的一些方法。

點選方法,就能看到具體方法的實現:

2.在unity中使用自定義的dll元件

在unity中建立一個Plugins資料夾,所有的外部引用的dll元件必須要放在這個檔案下,才能被using。如果是C#封裝的dll,就用using的方式引用,如果是C++的dll,就DllImport["dxw.dll"]的方式來新增對dll的引用。然後我在C#指令碼中用這個dll,

執行結果:看到能夠正確輸出了!

==================== 迂者 丁小未 CSDN部落格專欄=================

Unity QQ群:858550         cocos2dx QQ群:280818155

====================== 相互學習,共同進步 ===================

歡迎關注我的微博:http://weibo.com/u/2590571922

相關推薦

[Unity3d]呼叫自己封裝dll

之前總感覺會封裝dll元件的都是大牛級別的程式設計師做的事情,然後供給菜鳥級別的呼叫。感覺為了保護自己的原始碼不會被他人知道,然後就封裝一個dll供人家呼叫,那樣就覺得很牛,今天我也嘗試摸索了一下,感

C#呼叫JAVA封裝DLL

一、將已經編譯後的java中Class檔案進行打包;打包命令JAR如:將某目錄下的所有class資料夾全部進行打包處理;使用的命令:jar cvf test.jar -C com/ . //注意這裡最後為 空格加點( .) 切記其中test.jar為要生成的jar包;com/ . 為指定的當前目錄下的資料夾,

vs2013封裝dll以及java呼叫

public class SVBufferAppend { public static native int byteAppend(byte[] svBuffer, int offset,int ct,int cl,int vl,int value); } 編譯成.class檔案&nb

Unity3D專案程式加密1——在Unity3D裡使用自己dll和生成dll

轉載自:http://liweizhaolili.blog.163.com/blog/static/1623074420144313825921/ 如果稍微關注過這方面知識的朋友,應該知道Unity3D做出來的專案是非常容易被反編譯的,被反編譯後你的所有資源和程式碼都將會毫無遮掩的呈現出來

C#:vs封裝dll and 呼叫生成的dll

生成dll C#封裝dll的方法很簡單: 1. Visual C#-->類庫,在程式設計介面寫上需要封裝的程式,設定好名稱空間和類名      或者,專案屬性->應用程式->輸出型別->改成類庫,定義好名稱空間和類名,在專案中

VB封裝DLL呼叫

首先明確DLL函式是什麼 DLL:動態連結庫(Dynamic Link Library),一個DLL檔案裡面可以包含多個函式,其實就是實現共享函式的一種方式,一個應用程式可能需要多個DLL聯合起來才可以正常使用 一,新建ActiveX Dll 工程,然後在裡面的類模組裡面書

C#demo程式 呼叫自己編寫的DLL

1、新建解決方案|新建專案|類庫,名稱為DLL; 新建專案|控制檯應用程式,名稱為Load; 2、新建類庫DLL中編寫程式碼,新增一個方法: using System; using Syste

學習使用C++封裝DLL呼叫

一、生成DLL VS2013——建立win32專案——DLL——完成 //maopao.cpp #include "stdafx.h" //關鍵在於加入這一句,意為將C語言下的程式匯出為DLL extern"C"_declspec(dllexport) void

用VC++封裝自己DLL動態連結庫

我的動態連結庫的製作,總結了一下,從小的簡單的dll逐漸逐層放大,記錄下來,以後方便查詢。 1.Win32 DLL的建立和使用  首先利用vc++新建一個Win32Dynamic-Link Library 類的工程,工程取名為:Dll1,並在AppWizard的第一步選擇“An empty Dll p

Unity3D呼叫.DLL檔案

首先我們自己動手建立一個.DLL檔案工具:VS(VS2013)、Unity(Unity5.2.2)一.開啟VS,新建專案選擇Wint32控制檯應用程式選擇DLL和空專案右鍵點選新增類在這裡類命名為CallByUnity,點選確定,將生成CallByUnity.h和CallBy

java呼叫c++封裝dll

 標頭檔案宣告: /* Header for class com_service_InvocationService */ #include "jni.h" #ifndef _Included_com_service_InvocationService #define

C#呼叫c++封裝dll檔案提示未能載入正確的程式集XXX或其某一依賴項。。。

IDE:VS2010 語言:C# 異常:System.BadImageFormatException,未能載入正確的程式集XXX或其某一依賴項。。。 一般是由於目標程式的目標平臺與其某一依賴項的目標編譯平臺不一致導致, 把所有的專案都修改到同一目標平臺下(X86、X64或A

呼叫自己生成的動態連結庫(DLL) VS除錯(debug)右鍵無法進入函式定義

問題描述: 自己建立的動態連結庫工程,編譯後生成的DLL檔案。在另一個VS工程中使用DLL中的函式,在除錯的時候發現右鍵無法跳轉到函式定義位置(兩個工程檔案在同一裝置上)。 問題分析: 無法跳轉說明該函式無法定位到原始檔的位置,這是因為在動態連結庫工程中沒有配置生成除錯

自己封裝的一些簡單的jQuery插件

目標 browser 文本 nis targe arr nim function etc   俗話說的好:溫故而知新,可以為師矣!   學習是一個人一輩子的事情。於是乎趁著今天休息,回顧了一些知識點,可能做的不夠完美,請多多指教。 /** * Created by Admi

unity3d android動態更新dll

pat spa csharp nstat sina 註意 int32 exe mono 基本是參考這篇文章:http://blog.sina.com.cn/s/blog_9e5d42ee0102vvtg.html,進行了增刪一波。 大略說一下基本步驟:1.下載mono源碼,

自己封裝的輪播工具

selector oat javascrip *** 觸發 userinfo ring 設置時間 下載 近期閑來無事,剛好自己封裝了一個輪播的demo,能夠實現設置時間間隔,是否輪播。是否顯示indicator等。使用的時候直接設置參數就能夠了,再也不用

自己封裝framworks上傳到應用商店報錯

script uil iss strong find lac targe 內容 link 參考鏈接: http://www.jianshu.com/p/60ac3ded34a0 http://ikennd.ac/blog/2015/02/stripping-unwanted

unity3d動態加載dll的API以及限制

軟件 ddc line tel 同時 eat 都是 version tails Unity3D的坑系列:動態加載dll 一、使用限制 現在參與的項目是做MMO手遊,目標平臺是Android和iOS,iOS平臺不能動態加載dll(什麽原因找喬布斯去),可以直接忽略,而在

Android 擼起袖子,自己封裝 DialogFragment

6.0 最簡 標題欄 xtend animation 監聽 www. 特殊 nth 前言 具體的代碼以及示例我都放上 Github 了,有需要的朋友可以去看一下 DialogFragmentDemos,歡迎 star 和 fork. 本文的主要內容 DialogFra

自己封裝的data日期工具類

tar gets back rtt 負數 tint inner clear obj HTML頁面的調用 <!DOCTYPE html> <html> <head> <meta charset=