記一次FlatBuffers的簡單使用

2021-10-07 19:00:38 字數 1785 閱讀 1461

其他命令使用

binary to json

這裡只記錄flatbuffers的簡單使用步驟,不涉及flatbuffers的介紹及原理,平台windows,語言c++

git clone
cmake -g "visual studio 16"
關於scheme檔案介紹及語法,可檢視官方文件介紹

monster.fbs

// example idl file for our monster's schema.

namespace com.zeyuan.learning;

enum color:byte

union equipment

// optionally add more tables.

struct vec3

table monster

table weapon

root_type monster;

flatc --cpp  monster.fbs
新增 flatbuffers 根目錄下的 include 目錄
flatbuffers目錄下的debug目錄

flatbuffers目錄下的debug目錄下的flatbuffers.lib

flatc -b monster.fbs monsterdata.json
atc -b monster.fbs monsterdata.json
std::string schemafile;

string str =

"c:\\users\\ws\\downloads\\schema\\schemafile.fbs";if

(!flatbuffers::

loadfile

(str.

c_str()

,false

,&schemafile)

)debug_console

("load schemafile false");

flatbuffers::flatbufferbuilder builder;

builder.

pushbytes

(stream, size)

;//stream 就是fb流

std::string jsongen;

flatbuffers::parser parser;if(

!parser.

parse

(schemafile.

c_str()

))debug_console

("parse schemafile false");

const fic::message *message = fic::

getmessage

(builder.

getcurrentbufferpointer()

);flatbuffers::

generatetextfromtable

(parser, message,

"fic.message"

,&jsongen)

;debug_console

(jsongen.

c_str()

);

記一次的使用

將jsp拆分frame框架,因為採用了第一種方式,一直在考慮用jquery非同步請求獲取資料,總是但不到效果,終於在js寫吐的時候選擇了第二種方式。參考網上的使用,大多是下面這個樣子,如果涉及靜態頁面之間定位,是沒有問題的 href 為目標頁面 通過target定位到frame views main...

記一次除錯

這是我最近幾個月來遇到的最棘手的乙個問題 昨天花了4個小時找出第一層次的原因 這個糾結啊,本來和老婆說好準時下班回家吃飯的,結果被這個問題拖了老久。這是乙個gradle的plugin,用來resolve公司內部的dependency的,弄完了跑測試專案的,拋乙個npe,而且npe還不在自己的 裡面。...

記一次 EqualsAndHashCode的疑惑

lombok的使用真的是讓開發人員欲罷不能,乙個 data不管有多少屬性全部搞定,以後加字段也不用從新生成get和set方法。不過這裡還是有乙個小坑需要注意一下,舉個例子 public class equalsandhashcodetest data noargsconstructor access...