protobuf使用 不斷更新

2021-10-05 01:13:48 字數 2032 閱讀 6812

解析與序列化

makefile檔案寫法

按照readme來就行,我安裝在了預設的/usr/local路徑,所以需要在環境變數中加入路徑。

export ld_library_path=$ld_library_path:/usr/local/lib

export library_path=$library_path:/usr/local/lib

export path=$path:/usr/local/bin

protoc --version

檔名為mymessage.proto

syntax =

"proto3"

;package im;

message content

protoc ./mymessage.proto --cpp_out=/home/ywq/test-probuf

生成mymessage.pb.ccmymessage.pb.h兩個檔案

原因:如果proto描述檔案在當前目錄,要以"./"開始。

//序列化訊息,將儲存位元組的以string方式輸出。注意位元組是二進位制,而非文字;

bool

serializetostring

(string* output)

;bool

parsefromstring

(const string& data)

;//解析給定的string

bool

serializetoostream

(ostream* output)

;//寫訊息給定的c++ ostream中

bool

parsefromistream

(istream* input)

;//從給定的c++ istream中解析出訊息

坑很多,如果沒有加-std=c++11會編譯失敗;沒有-lpthread編譯可以成功,但是執行時會失敗。

inc=/usr/local/lib

lib=/usr/local/lib

lib=protobuf

all:writer reader

writer.o: writer.cpp

g++ -std=c++11 -g -c writer.cpp -lpthread -i$(inc)

-l$(lib)

-l$(lib)

reader.o: reader.cpp

g++ -std=c++11 -g -c reader.cpp -lpthread -i$(inc)

-l$(lib)

-l$(lib)

writer: writer.o mymessage.pb.o

g++ -std=c++11 -g -o writer writer.o mymessage.pb.o -lpthread -i$(inc)

-l$(lib)

-l$(lib)

reader: reader.o mymessage.pb.o

g++ -std=c++11 -g -o reader reader.o mymessage.pb.o -lpthread -i$(inc)

-l$(lib)

-l$(lib)

mymessage.pb.o: mymessage.pb.cc

g++ -std=c++11 -g -c mymessage.pb.cc -lpthread -i$(inc)

-l$(lib)

-l$(lib)

clean: writer reader reader.o writer.o mymessage.pb.o

rm writer reader reader.o writer.o mymessage.pb.o

vi使用 不斷更新

1.刪除操作 命令模式使用 x刪除游標處的單個字元 dd刪除游標所在行 dw刪除當前字元到單詞尾包括空格的所有字元 x例如3x刪除游標處向右的三個字元 dd例如3dd從當前行開始向下刪除三行文字 2.撤銷操作 u命令取消最近一次的操作,可以使用多次來恢復原有的操作 u取消所有操作 ctrl r可以恢...

code blocks使用體會 不斷更新

網路上免費的東西太多了,很多東西完全可以替代昂貴的商業軟體,code blocks是從網上找到的乙個免費開發平台,而且是開源的,總結一下使用體會。優點 1,免費,哈哈,窮人才會有的體會 2,開源,還是窮人的體會,不用花錢去買公升級換代產品 3,編譯速度快,比v.studio快不止一點點,沒寫過大程式...

Eclipse 使用總結(不斷更新)

一 manager設定映象 啟動 android sdk manager 開啟主介面,依次選擇 tools options.彈出 android sdk manager settings 視窗 在 android sdk manager settings 視窗中,在 http proxy serve...