91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中怎么修改動態鏈接庫

發布時間:2021-07-07 17:22:26 來源:億速云 閱讀:240 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關C#中怎么修改動態鏈接庫,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

C#實現修改動態鏈接庫,將b修改為雙重指針:

  1. public class RefComm  

  2. {  

  3. [DllImport("LibEncrypt.dll",  

  4. EntryPoint=" mySum ",  

  5. CharSetCharSet=CharSet.Ansi,
    CallingConventionCallingConvention=CallingConvention.StdCall)]  

  6. public static extern string mySum (string a, ref string b);  

  7. }  

在C#中調用測試:

string strDest="";  string strTmp= RefComm. mySum("12345", ref strDest);

運行查看結果 strTmp 和 strDest 均為"12345",調用正確。實現了函數出口參數正確輸出結果。

C#實現修改動態鏈接庫,實現整數參數的輸出:

  1. public class RefComm  

  2. {  

  3. [DllImport("LibEncrypt.dll",  

  4. EntryPoint=" mySum ",  

  5. CharSetCharSet=CharSet.Ansi,
    CallingConventionCallingConvention=CallingConvention.StdCall)]  

  6. public static extern int mySum (int a, int b,ref int c);  

經過以上的試驗,基本掌握了如何定義動態庫函數以及如何在 C# 定義導入,有此基礎,很快我實現了變長加密函數在 C# 中的調用,至此目標實現。

在 C# 中調用 C++ 編寫的動態鏈接庫函數,如果需要出口參數輸出,則需要使用指針,對于字符串,則需要使用雙重指針,對于 C# 的導入定義,則需要使用引用(ref)定義。

對于函數返回值,C# 導入定義和 C++ 動態庫函數聲明定義需要保持一致,否則會出現函數調用失敗。定義導入時,一定注意 CharSet 和 CallingConvention 參數,否則導致調用失敗或結果異常。運行時,動態鏈接庫放在 C# 程序的目錄下即可,我這里是一個 C# 的動態鏈接庫,兩個動態鏈接庫就在同一個目錄下運行。

上述就是小編為大家分享的C#中怎么修改動態鏈接庫了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

咸宁市| 锡林浩特市| 龙口市| 云龙县| 彭山县| 神农架林区| 汕头市| 舟山市| 方山县| 南宫市| 深水埗区| 丘北县| 靖安县| 密山市| 黄龙县| 忻城县| 江阴市| 凤凰县| 新和县| 邯郸县| 定边县| 临泽县| 杭锦旗| 孟州市| 赤壁市| 虞城县| 云霄县| 博兴县| 嘉祥县| 浮梁县| 卢氏县| 庄河市| 垣曲县| 手机| 武功县| 宝兴县| 利津县| 高碑店市| 乌兰县| 郸城县| 常州市|