您好,登錄后才能下訂單哦!
小編給大家分享一下易語言中字節集參數傳遞的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
易語言多線程之字節集參數傳遞
傳遞文本可以直接傳遞文本的指針,但是字節集卻不能這樣,看下面直接傳遞字節集指針的代碼:
.版本 2 .支持庫 spec .支持庫 EThread .程序集 窗口程序集1 .程序集變量 線程句柄, 整數型 .程序集變量 內存長度, 整數型 .子程序 _按鈕1_被單擊 .局部變量 data, 字節集 .局部變量 ptr, 整數型 data = { 1 } 內存長度 = 取字節集長度 (data) ptr = 取變量數據地址 (data) 啟動線程 (&傳遞字節集參數, ptr, 線程句柄) 關閉線程句柄 (線程句柄) .子程序 傳遞字節集參數 .參數 ptr, 整數型 調試輸出 (指針到字節集 (ptr, 內存長度))
很明顯結果是錯誤的,錯誤的原因涉及到程序的內存的劃分,后面會詳細講解。
先看解決這個問題的代碼:
.版本 2 .支持庫 spec .支持庫 EThread .程序集 窗口程序集1 .程序集變量 線程句柄, 整數型 .程序集變量 內存長度, 整數型 .子程序 _按鈕1_被單擊 .局部變量 data, 字節集 .局部變量 ptr, 整數型 data = { 1 } 內存長度 = 取字節集長度 (data) ptr = 申請內存 (內存長度, 真) 寫到內存 (data, ptr, 內存長度) 啟動線程 (&傳遞字節集參數, ptr, 線程句柄) 關閉線程句柄 (線程句柄) .子程序 傳遞字節集參數 .參數 ptr, 整數型 調試輸出 (指針到字節集 (ptr, 內存長度)) 釋放內存 (ptr)
首先申請內存,然后把數據寫入內存,把內存的指針傳入線程。
運行結果:
有時間再發一帖說下程序的內存劃分,還有取變量地址和取變量數據地址的區別。
以上是“易語言中字節集參數傳遞的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。