最近因為專案中遇到了c++聯合體轉換成c#結構的情況,查了很多資料才轉換成功。
備註:對於官方這個union示例,我的簡單理解,就是這類unwww.cppcns.comion做法,可適當代替if else 之類操作。
解決問題:如果只接收**解碼資料,而從不接收音訊資料,那麼是否可以直接定義結構體,並以此來獲取**資料。
///
/// * @struct tagtframeinfo_yuv420
/// * @brief 解碼後幀資訊結構(包括音訊和**)
/// * @attention 如果只接收**解碼資料,而從不接收音訊資料,那麼是否可以直接定義結構體,並以此來獲取**資料
/// * @原型定義:
/// 解碼後幀資訊結構(包括音訊和**)
/// typedef struct tagtframeinfo
/// ;
/// union
/// ;
/// union
/// ;
/// }tframeinfo,*pframeinfo;
///
[structlayout(layoutkind.sequential)]
public struct tagtframeinfo_yuv420
感興趣的讀者可以對此除錯執行一下,希望對大家有所幫助。
本文標題: c++聯合體轉換成c#結構的實現方法
本文位址:
C 結構體 聯合體
結構體是特殊形態的類,與類的區別 結構體的預設訪問許可權是public,也就是說當你建立資料成員的時候,預設是屬於public類,存在的主要原因 與c語言保持相容。結構體 struct 學生資訊 include include include using namespace std struct s...
C 結構體和聯合體
結構體資料對齊問題 使用union定義的是聯合體 利用union可以用相同的儲存空間儲存不同型別的資料型別,從而節省記憶體空間。當訪問其內成員時可用 和 來直接訪問。當多個資料需要共享記憶體或者多個資料每次只取其一時,可以利用聯合體 union 在c programming language 一書中...
C語言中的聯合體
聯 合 union 1.聯合說明和聯合變數定義 聯合也是一種新的資料型別,它是一種特殊形式的變數。聯合說明和聯合變數定義與結構十分相似。其形式為 union 聯合名 聯合變數名 聯合表示幾個變數公用乙個記憶體位置,在不同的時間儲存不同的資料型別 和不同長度的變數。下例表示說明乙個聯合a bc uni...