亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c++與java: 如何實現根據結構體定義動態構造java類

c++與java: 如何實現根據結構體定義動態構造java類

牛魔王的故事 2019-05-25 14:23:03
java中動態代理有兩種實現方式,一個是java本身提供的面向接口的動態代理,一個是cglib動態代理。cglib動態代理可以動態生成字節碼文件,但是我看了這個好像與我的需求不符。我的需求是這樣的:很多orm框架可以自動根據數據庫的字段生成實體bean,現在的需求是我想根據結構體的定義動態生成javabean,也就是說任意給定一個結構體的定義,通過某種方式可以生成對等的java實體,這個能夠實現嗎,有相關參考嗎,各位能否指點一下,非常感謝
查看完整描述

2 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

Java有反射可以拿到字段的名稱,但是C++的結構體你自己去malloc的話,是一塊連續的內存,通過結構體每個字段的大小來確定指針位置。所以應該是不能實現的,因為在源碼級別確實你能看到字段,但是在運行時所面對的就是一塊一塊的內存區域。答主C++很差,會C和Java,如有錯誤望指正。
補:===C++是有反射的,但是結構體只能用結構映射來替代。具體的樓主去研究吧,很久沒接觸了
                            
查看完整回答
反對 回復 2019-05-25
?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

讓它們具有一模一樣的內存布局是不現實的,保證轉換過程中不丟失信息就夠了。
你可以用一種中間格式,將一邊的對象序列化,在另一邊恢復,或者反過來。
你可以試試各種跨語言序列化的方案,比如JSON、Protobuf或者別的什么。各有優劣。
                            
查看完整回答
反對 回復 2019-05-25
  • 2 回答
  • 0 關注
  • 423 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號