C#byte數組傳入C操作方法
更新時間:2019年02月26日 10:36:51 投稿:laozhang
在本篇內容中小編給大家分享了關于C#byte數組傳入C操作方法以及相關知識點,需要的朋友們學習下。
將C語言封裝成函數dll供C#端調用,需要傳遞的byte數組作為函數參數來傳遞。
1、打開Visual Studio2017創(chuàng)建一個C的dll工程;取名為Dll1

2、打開dllmain.cpp,增加一個byte數組元素求和的函數: Cal(unsigned char* data,int length);編譯,在工程名上右鍵選擇“生成”;即生成Dll1.dll文件。


3、創(chuàng)建C#工程對,選擇窗體類型工程。在界面上增加一個Button按鈕。雙擊Button進入代碼編寫界面。

4、采用DllImport引用上面封裝好的dll,并調用Cal函數,傳入byte[]數組{1,2}。顯示出計算結果。預期輸出結果為3。

5、將Dll1.dll拷貝到C#生成exe的同級目錄下;運行C#項目,點擊“調用”彈出執(zhí)行結果3。符合預期結果。

相關文章
C#中LinkedList<T>的存儲結構詳解
這篇文章主要介紹了深度解析C#中LinkedList<T>的存儲結構,本文將從鏈表的基礎特性、C#中LinkedList的底層實現邏輯,.NET的不同版本對于Queue的不同實現方式的原因分析等幾個視角進行簡單的解讀,需要的朋友可以參考下
2023-12-12
利用C#實現可以繼承的"枚舉"
工作中許多代碼中用到枚舉(enum),更用到了需要繼承的枚舉,由于C#的枚舉不允許被繼承,所以本文就來模擬實現一個可以繼承的仿枚舉吧
2023-05-05
C#使用正則表達式實現漢字轉拼音
這篇文章主要為大家詳細介紹了C#如何使用正則表達式實現漢字轉拼音的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
2024-01-01
C#基于Miniblink控件編寫一個簡易的瀏覽器
miniblink是一款精簡小巧的瀏覽器控件,基于chromium精簡而成,是市面上最小巧的chromium內核控件沒有之一,本文將結合C#和Miniblink編寫一個簡易的瀏覽器,感興趣的可以了解下
2024-01-01
WPF利用ScottPlot實現動態(tài)繪制圖像
ScottPlot是基于.Net的一款開源免費的交互式可視化庫,支持Winform和WPF等UI框架,本文主要為大家詳細介紹了如何WPF如何使用ScottPlot實現動態(tài)繪制圖像,需要的可以參考下
2023-12-12
C#小程序15位轉18位身份證號代碼
現在我們使用的都是18位身份證號,而以前都是15位身份證號,而如何將15位身份證號轉18位身份證號轉換為18位身份證號呢?
2013-02-02
避免在C#循環(huán)中使用await的方法小結
在C#中,異步編程因其能夠提升應用程序性能和響應能力而變得越來越流行,async和await關鍵字使得編寫異步代碼變得更加容易,但如果使用不當,它們也可能引入一些陷阱,所以本文我們將探討為什么應該避免在C#循環(huán)中使用await,并討論一些更高效地處理異步操作的替代方法
2024-09-09