中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

營銷型網(wǎng)站建設(shè)實(shí)戰(zhàn)》杭州優(yōu)化公司哪家好

營銷型網(wǎng)站建設(shè)實(shí)戰(zhàn)》,杭州優(yōu)化公司哪家好,網(wǎng)站建設(shè) 河南,盤錦網(wǎng)站建設(shè)多少錢初始ProtoBuf 序列化和反序列化的概念 序列化:把對象轉(zhuǎn)換為字節(jié)序列的過程 稱為對象的序列化。 反序列化:把字節(jié)序列恢復(fù)為對象的過程 稱為對象的反序列化。 什么情況下需要序列化和反序列化? 存儲數(shù)據(jù):當(dāng)你想把的內(nèi)存中的對象狀…

初始ProtoBuf

序列化和反序列化的概念

序列化:把對象轉(zhuǎn)換為字節(jié)序列的過程 稱為對象的序列化。
反序列化:把字節(jié)序列恢復(fù)為對象的過程 稱為對象的反序列化。

什么情況下需要序列化和反序列化?

存儲數(shù)據(jù):當(dāng)你想把的內(nèi)存中的對象狀態(tài)保存到?個?件中或者存到數(shù)據(jù)庫中時。
?絡(luò)傳輸:?絡(luò)直接傳輸數(shù)據(jù),但是?法直接傳輸對象,所以要在傳輸前序列化,傳輸完成后反
序列化成對象。例如我們之前學(xué)習(xí)過 socket 編程中發(fā)送與接收數(shù)據(jù)。

我們之前在學(xué)習(xí)HTTP階段簡單使用過json來進(jìn)行序列化和反序列化操作,除了json還有XML和這里要介紹的ProtoBuf。

ProtoBuf的優(yōu)點(diǎn):

1.語言無關(guān)性,跨平臺 :即支持多種語言和平臺

2.高效性。比XML更小,更快,更為簡單。

3.擴(kuò)展性,兼容性好。你可以更新數(shù)據(jù)結(jié)構(gòu),?不影響和破壞原有的舊程序。

ProtoBuf支持的語言:

ProtoBuf使用特點(diǎn)

1. 編寫 .proto ?件,?的是為了定義結(jié)構(gòu)對象(message)及屬性內(nèi)容。
2. 使? protoc 編譯器編譯 .proto ?件,?成?系列接?代碼,存放在新?成頭?件和源?件中。

如果我們使用的是C++,那么就會生成.h和.cc文件?

3. 依賴?成的接?,將編譯?成的頭?件包含進(jìn)我們的代碼中,實(shí)現(xiàn)對 .proto ?件中定義的字段進(jìn)? 設(shè)置和獲取,和對 message 對象進(jìn)?序列化和反序列化。

?總的來說:ProtoBuf 是需要依賴通過編譯?成的頭?件和源?件來使?的。

?這里舉一個例子:

假設(shè)我們要設(shè)計(jì)一個類,可以把它看作三個部分

分別是:
定義一系列屬性字段。這個是很容易的,比如int XXX;之類的

處理字段的方法:get set,這些實(shí)現(xiàn)起來不難,但是比較耗時。

處理的方法 :序列化 反序列化。這個就更耗時了,還有一定的難度。

因此,為了解決第二個和第三個問題,在適用了ProtoBuf后,我們在.proto文件中只需要定義對應(yīng)的結(jié)構(gòu)體對象,以及它的屬性內(nèi)容。

接著通過protoc編譯器來自動的幫我們生成處理字段的方法,以及該類的序列化和反序列化。

也就是會幫我們生成一個.h和一個.cc文件,我們只需要包含它們就可以了。?

安裝ProtoBuf?

這里的演示以v21.11版本為例

Windows下安裝?

?先進(jìn)入ProtoBuf的GitHub首頁

找到 21.11

這里我們選擇 win64

下載好并解壓好后,打開

在bin目錄里?

這個其實(shí)就是ProtoBuf的 編譯器。接著我們把這個目錄配置到系統(tǒng)環(huán)境變量中

最后,檢查配置是否成功

打開cmd,輸入 protoc --version

能夠正確顯示版本,說明配置成功了。

Ubuntu下安裝?

下載 ProtoBuf 前?定要安裝依賴庫:autoconf automake libtool curl make g++ unzip?

?安裝依賴庫命令如下:

sudo apt-get install autoconf automake libtool curl make g++ unzip -y

?安裝好后,再回到gitHub那里

如果要在 C++ 下使? ProtoBuf,可以選擇cpp.zip ;
?
如果要在 JAVA 下使? ProtoBuf,可以選擇 java.zip;

在這?我們希望?持全部語?,所以選擇 protobuf-all-21.11.zip,右鍵將下載鏈接復(fù)制出來。?

然后在我們的Ubuntu云服務(wù)下直接輸入

wget https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protobuf-all-21.11.zip

?下載完后,解壓zip包

unzip protobuf-all-21.11.zip

解壓好后,進(jìn)入生成的文件中

接下來才是真正安裝ProtoBuf

進(jìn)入解壓好的文件后,執(zhí)行以下指令:
?

# 第?步執(zhí)?autogen.sh,但如果下載的是具體的某??語?,不需要執(zhí)?這?步。
./autogen.sh # 第?步執(zhí)?configure,有兩種執(zhí)??式,任選其?即可,如下:
# 1、protobuf默認(rèn)安裝在 /usr/local ?錄,lib、bin都是分散的
./configure 
# 2、修改安裝?錄,統(tǒng)?安裝在/usr/local/protobuf下
./configure --prefix=/usr/local/protobuf

完事后會多一個Makefile文件

完成后再次執(zhí)行

make // 執(zhí)?15分鐘左右
make check // 執(zhí)?15分鐘左右
sudo make install

make check主要是確認(rèn)之前的步驟是否正確。

另外,在make check的時候,可能會出現(xiàn)以下錯誤

出現(xiàn)以上錯誤的原因是test的模塊??有?常多的測試?例,這些?例對服務(wù)器環(huán)境要求特別嚴(yán)格,需要增?下swap分區(qū)

以下是步驟:

1.創(chuàng)建?swap 的文件(分配 3G 的swap分區(qū)大小)?

sudo fallocate -l 3G /swapfile

?2.然后執(zhí)行:

swapoff -a

3.再執(zhí)行

sudo fallocate -l 3G /swapfile

4.執(zhí)行以下命令為 swapfile 文件設(shè)置正確的權(quán)限

sudo chmod 600 /swapfile

5.使用?mkswap?實(shí)用程序在文件上設(shè)置?Linux?SWAP 區(qū)域:

sudo mkswap /swapfile

6.使用以下命令激活 swap 文件:

sudo swapon /swapfile

用以下命令驗(yàn)證:

sudo swapon --show

?7.要讓創(chuàng)建好的 swap 分區(qū)永久生效,可以將 swapfile 路徑內(nèi)容寫入到?/etc/fstab?文件當(dāng)中?:

sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

如果還是不行的話,可以考慮源碼的方式安裝。

安裝后驗(yàn)證

以上就說明安裝成功了。

?

關(guān)于一些問題?

用g++編譯代碼時會報(bào)錯:

?這個問題大致是沒有找到對應(yīng)的庫,我們可以確定我們的庫文件放在哪里:
我這里的庫文件是在

ll /usr/local/lib這個路徑下的:

接著我們再執(zhí)行:

echo $LIBRARY_PATH

?來查看當(dāng)前搜索庫的路徑:
如果發(fā)現(xiàn)跟剛剛的目錄不相符,比如:

那么就會出現(xiàn)剛剛上述的問題。

我們可以修改當(dāng)前用戶的~/.bashrc文件,在文件的末尾添加上:

export LIBRARY_PATH=/usr/local/lib:

?然后保存退出后,再執(zhí)行:
?

source ~/.bashrc

此時再查看我們的庫搜索路徑

就發(fā)現(xiàn)已經(jīng)修改了,然后再用g++編譯就不會報(bào)錯了

?

http://m.risenshineclean.com/news/64504.html

相關(guān)文章:

  • 中國建設(shè)銀行的業(yè)務(wù)范圍深圳百度網(wǎng)站排名優(yōu)化
  • 日照疫情最新消息今天封城了廣州網(wǎng)絡(luò)seo公司
  • 個人網(wǎng)站備案 淘寶客天氣預(yù)報(bào)最新天氣預(yù)報(bào)
  • 心理咨詢網(wǎng)站開發(fā)長春網(wǎng)站建設(shè)制作
  • 坪山做網(wǎng)站的公司北京全網(wǎng)營銷推廣
  • 網(wǎng)站建設(shè)分幾模塊黃頁推廣引流網(wǎng)站
  • 哪些網(wǎng)站可以做調(diào)查賺錢優(yōu)化推廣網(wǎng)站seo
  • 網(wǎng)站建設(shè)公司有哪些方面微商怎么引流被加精準(zhǔn)粉
  • 怎么注冊英文網(wǎng)站域名互動營銷的案例及分析
  • 免費(fèi)建立個人文章網(wǎng)站百度游戲風(fēng)云榜
  • c2c商城網(wǎng)站建設(shè)費(fèi)用b站推廣入口2023年
  • 句容網(wǎng)站建設(shè)制作萬網(wǎng)查詢
  • 網(wǎng)站的鏈接結(jié)構(gòu)怎么做營銷策劃書模板范文
  • 典型的電子商務(wù)網(wǎng)站有哪些太原seo哪家好
  • 廣州做網(wǎng)站信科分公司南京今日新聞頭條
  • 重慶承越網(wǎng)站建設(shè)公深圳抖音seo
  • 廈門市建設(shè)廳網(wǎng)站網(wǎng)絡(luò)推廣的平臺
  • 個人靜態(tài)網(wǎng)站首頁怎么做百度sem推廣具體做什么
  • 網(wǎng)站開發(fā)職業(yè)技能簡歷營銷管理系統(tǒng)
  • 移動電商網(wǎng)站推廣普通話標(biāo)語
  • 湖州做網(wǎng)站建設(shè)的公司哪家好關(guān)鍵詞優(yōu)化推廣
  • 淘寶優(yōu)惠券查詢網(wǎng)站怎么做深圳網(wǎng)絡(luò)推廣外包公司
  • 酒店和網(wǎng)站對接如何做app推廣平臺網(wǎng)站
  • 招生代理平臺seo如何去做優(yōu)化
  • 在哪個網(wǎng)做免費(fèi)網(wǎng)站好站長
  • 織夢做的網(wǎng)站首頁被篡改企業(yè)網(wǎng)頁
  • 網(wǎng)加速器長沙seo外包
  • 易語言編程可以做網(wǎng)站么杭州網(wǎng)站推廣公司
  • 建設(shè)網(wǎng)站的實(shí)驗(yàn)?zāi)康暮鸵饬xseo網(wǎng)站優(yōu)化平臺
  • 上海建設(shè)網(wǎng)站的公司b2b網(wǎng)站推廣排名