歡迎使用CSDN markdown編輯器

2021-08-09 17:45:25 字數 582 閱讀 8365

有問題的**:

public static byte hdlctobytes(hdlc_struct structobj)

finally }

結構體定義

[structlayoutattribute(layoutkind.sequential, charset = charset.none, pack = 1)]

public struct hdlc_struct

結構體的長度從定義上是132,但實際使用時,data部分不需要全部的128byte,所以在結構體轉成位元組陣列時長度定義成所需要的長度,在分配記憶體時申請了需要的位元組長度,遠短於結構體的定義長度,在將結構體複製到非託管記憶體中時發生了記憶體洩漏。
public static byte hdlctobytes(hdlc_struct structobj)

finally }

將輸出的位元組陣列和申請非託管記憶體的長度區分開,避免出現相關問題。

解決完之後再看其實是乙個很簡單的小問題,由於catch不到問題應用程式就結束了,所以一直沒抓到出現問題的點。

歡迎使用CSDN markdow

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

歡迎毛毛與妞妞使用CSDN markdown編輯器

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...

歡迎使用CSDN markdow1n編輯器

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...