中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

天全县| 虞城县| 钦州市| 客服| 辛集市| 阿尔山市| 广平县| 察隅县| 乐陵市| 衡水市| 巴中市| 漾濞| 肇东市| 精河县| 固镇县| 青海省| 五原县| 博罗县| 炉霍县| 达孜县| 石泉县| 景泰县| 临汾市| 铜山县| 烟台市| 柳河县| 介休市| 西畴县| 祁门县| 霞浦县| 丹阳市| 铁岭县| 安国市| 玉林市| 竹溪县| 繁昌县| 安康市| 南宁市| 密云县| 资中县| 体育|