溫馨提示×

溫馨提示×

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

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

易語言中字節(jié)集參數(shù)傳遞的示例分析

發(fā)布時間:2021-08-18 11:39:46 來源:億速云 閱讀:172 作者:小新 欄目:編程語言

小編給大家分享一下易語言中字節(jié)集參數(shù)傳遞的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

易語言多線程之字節(jié)集參數(shù)傳遞

傳遞文本可以直接傳遞文本的指針,但是字節(jié)集卻不能這樣,看下面直接傳遞字節(jié)集指針的代碼:

.版本 2
.支持庫 spec
.支持庫 EThread

.程序集 窗口程序集1
.程序集變量 線程句柄, 整數(shù)型
.程序集變量 內(nèi)存長度, 整數(shù)型

.子程序 _按鈕1_被單擊
.局部變量 data, 字節(jié)集
.局部變量 ptr, 整數(shù)型

data = { 1 }
內(nèi)存長度 = 取字節(jié)集長度 (data)
ptr = 取變量數(shù)據(jù)地址 (data)

啟動線程 (&傳遞字節(jié)集參數(shù), ptr, 線程句柄)
關(guān)閉線程句柄 (線程句柄)


.子程序 傳遞字節(jié)集參數(shù)
.參數(shù) ptr, 整數(shù)型


調(diào)試輸出 (指針到字節(jié)集 (ptr, 內(nèi)存長度))

易語言中字節(jié)集參數(shù)傳遞的示例分析

很明顯結(jié)果是錯誤的,錯誤的原因涉及到程序的內(nèi)存的劃分,后面會詳細講解。

先看解決這個問題的代碼:

.版本 2
.支持庫 spec
.支持庫 EThread

.程序集 窗口程序集1
.程序集變量 線程句柄, 整數(shù)型
.程序集變量 內(nèi)存長度, 整數(shù)型

.子程序 _按鈕1_被單擊
.局部變量 data, 字節(jié)集
.局部變量 ptr, 整數(shù)型

data = { 1 }
內(nèi)存長度 = 取字節(jié)集長度 (data)
ptr = 申請內(nèi)存 (內(nèi)存長度, 真)
寫到內(nèi)存 (data, ptr, 內(nèi)存長度)

啟動線程 (&傳遞字節(jié)集參數(shù), ptr, 線程句柄)
關(guān)閉線程句柄 (線程句柄)


.子程序 傳遞字節(jié)集參數(shù)
.參數(shù) ptr, 整數(shù)型


調(diào)試輸出 (指針到字節(jié)集 (ptr, 內(nèi)存長度))
釋放內(nèi)存 (ptr)

首先申請內(nèi)存,然后把數(shù)據(jù)寫入內(nèi)存,把內(nèi)存的指針傳入線程。

運行結(jié)果:

易語言中字節(jié)集參數(shù)傳遞的示例分析

有時間再發(fā)一帖說下程序的內(nèi)存劃分,還有取變量地址和取變量數(shù)據(jù)地址的區(qū)別。

以上是“易語言中字節(jié)集參數(shù)傳遞的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI