C#byte數(shù)組傳入C操作方法
將C語(yǔ)言封裝成函數(shù)dll供C#端調(diào)用,需要傳遞的byte數(shù)組作為函數(shù)參數(shù)來(lái)傳遞。
1、打開(kāi)Visual Studio2017創(chuàng)建一個(gè)C的dll工程;取名為Dll1

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


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

4、采用DllImport引用上面封裝好的dll,并調(diào)用Cal函數(shù),傳入byte[]數(shù)組{1,2}。顯示出計(jì)算結(jié)果。預(yù)期輸出結(jié)果為3。

5、將Dll1.dll拷貝到C#生成exe的同級(jí)目錄下;運(yùn)行C#項(xiàng)目,點(diǎn)擊“調(diào)用”彈出執(zhí)行結(jié)果3。符合預(yù)期結(jié)果。

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

