日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]前言谷歌的Protobuf的網(wǎng)址:https://developers.google.com/protocol-buffers/?csw=1按照國(guó)內(nèi)情況最好翻墻出去看一下.目前Protobuf的情況是主要支持Java, C++, orPython. 純C的,最新的版本不支持,貌似有一個(gè)好久之前

前言

谷歌的Protobuf的網(wǎng)址:https://developers.google.com/protocol-buffers/?csw=1

按照國(guó)內(nèi)情況最好翻墻出去看一下.

目前Protobuf的情況是主要支持Java, C++, orPython. 純C的,最新的版本不支持,貌似有一個(gè)好久之前支持的版本但不再更新.

支持C的Protobuf地址是:https://github.com/protobuf-c/protobuf-c這個(gè)版本貌似只能在linux下進(jìn)行編譯生產(chǎn)打包工具.windows沒(méi)有看見(jiàn)有相應(yīng)的編譯工程.

使用方法,大家可以參考示例https://code.google.com/p/protobuf-c/wiki/Examples這個(gè)也是需要翻墻的.


方法

1、通過(guò)支持生成純C工具,將自己寫(xiě)的腳本文件生成.c和.h文件可以參考以下方法

http://blog.csdn.net/menggucaoyuan/article/details/16107201

2、將生成的.c及.h包含到自己的工程項(xiàng)目中還要加上protobuf-c.c及protobuf-c.h文件

3、編譯一下,看編譯器提示什么錯(cuò)誤,然后一步一步能解決掉特殊編譯器中的問(wèn)題

可能需要修改protobuf里面的代碼

舉例來(lái)說(shuō),

1、我用VS2008的VC++使用與IAR相同的文件,像inline這個(gè)關(guān)鍵字VC++不認(rèn),需要調(diào)整為_(kāi)_inline

2、parse_packed_repeated_member的void *array = *(void **) member + siz * (*p_n);修改為

char*array = *(char**) member + siz * (*p_n);//modify by lanshuguang

3、修改一些變量定義為C標(biāo)準(zhǔn)的規(guī)范, 如把變量的定義放到函數(shù)的開(kāi)頭等 (有些編譯器不會(huì)有如此問(wèn)題,所以得看編譯器,像IAR FOR STM8S不會(huì)有問(wèn)題)

4、經(jīng)過(guò)步驟3的處理,等到程序沒(méi)有任何error時(shí),請(qǐng)留意warning的信息

比如,

a.8位單片機(jī)的地址尋址問(wèn)題,畢竟protobuf設(shè)計(jì)是在32位的基礎(chǔ)上考慮的

b. 如對(duì)int的定義問(wèn)題,PC及一些編譯器會(huì)把int定義為32位,而在IAR會(huì)為16位

c. 理解unsigned在C定義一個(gè)變量的意思,其實(shí)為unsigned int

建議

在單片機(jī)中使用protobuf這個(gè)東西時(shí),盡量不要將變量定義成enum或者一些跟int類型相關(guān)的,這樣能夠盡可能少地觸發(fā)因?yàn)?位單片機(jī)尋址與32位CPU或芯片尋址的差異。

其他該注意的地方,需要多根據(jù)單片機(jī)的特性來(lái)考慮關(guān)注.


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

初學(xué)者的態(tài)度很重要。哪一款單片機(jī)不重要,只要你精通擅長(zhǎng)一款,日后再用其他公司的那都是小菜一碟,進(jìn)而學(xué)習(xí)32位的處理器也是游刃有余,輕松自如,否則,每個(gè)單片機(jī)對(duì)你來(lái)說(shuō),都永遠(yuǎn)處于入門(mén)狀態(tài)。

關(guān)鍵字: 單片機(jī) 8位單片機(jī)

YS65F805是一款8 位 MTP CMOS 觸摸單片機(jī)。性能強(qiáng)大,功耗較低,待機(jī)電流:電壓為 2.5V 時(shí),典型值 500nA。工作電流:頻率為 8MHz、電壓為 2.5V 時(shí),典型值為 500uA。頻率為 31kH...

關(guān)鍵字: 觸摸MCU 8位單片機(jī) 芯嶺技術(shù)

NY8B062D是以EPROM作為存儲(chǔ)器的 8 位單片機(jī),專為家電或量測(cè)等等的I/O應(yīng)用設(shè)計(jì)。采用CMOS制程并同時(shí)提供客戶低成本、高性能、及高性價(jià)比等顯著優(yōu)勢(shì)。NY8B062D核心建立在RISC精簡(jiǎn)指令集架構(gòu)可以很容易...

關(guān)鍵字: 九齊單片機(jī) MCU 8位單片機(jī) 微控制器

Chrome OS是一款Google開(kāi)發(fā)的基于PC的操作系統(tǒng)。 Google Chrome OS是一款基于Linux的開(kāi)源操作系統(tǒng)。Google在自己的官方博客表示,初期,這一操作系統(tǒng)將定位于上網(wǎng)本、緊湊型以及低成本電腦...

關(guān)鍵字: Chrome OS google 內(nèi)核

關(guān)注星標(biāo)公眾號(hào),不錯(cuò)過(guò)精彩內(nèi)容作者|strongerHuang微信公眾號(hào)?|?嵌入式專欄我想在單片機(jī)上,不跑操作系統(tǒng),在需要處理一些業(yè)務(wù)邏輯時(shí),還需要檢測(cè)按鍵短按、長(zhǎng)按、多個(gè)按鍵同時(shí)按下,我要如何實(shí)現(xiàn)?如果在業(yè)務(wù)邏輯比較...

關(guān)鍵字: RTOS 操作系統(tǒng) 8位單片機(jī)

那一抹風(fēng)情(2583246961)?2021/6/26?19:45:24五六年前,計(jì)算機(jī)可是被調(diào)劑的專業(yè)想想朱老師會(huì)怎么做(2833716637)?2021/6/26?19:48:09那時(shí)候我聽(tīng)說(shuō)機(jī)械可以賺一萬(wàn)多想想朱老...

關(guān)鍵字: go google pi

Google I/O 開(kāi)發(fā)者大會(huì)去年因?yàn)橐咔槎∠?,今年采取線上形式強(qiáng)勢(shì)回歸。在沒(méi)有開(kāi)發(fā)者在場(chǎng)的 Google 園區(qū)內(nèi),Google CEO 桑達(dá)爾 · 皮查伊(Sundar Pichai)宣布推出多項(xiàng)全新技術(shù),除了能夠...

關(guān)鍵字: google TPU 谷歌

11月5日,華為于對(duì)瑞典郵政和電信管理局(PTS) 10月20日通過(guò)的行政決定提出上訴,要求斯德哥爾摩行政法院發(fā)布臨時(shí)禁令,立即停止執(zhí)行此行政決定,并撤銷該決定中關(guān)于華為的限制性要求。

關(guān)鍵字: 華為 google 電信

2020年10月消息,據(jù)XDA-Developers報(bào)道,該公司在2019年首次宣布的谷歌助手駕駛模式已經(jīng)開(kāi)始出現(xiàn)在一些Android設(shè)備上。大約兩周前,有用戶首次報(bào)告在谷歌地圖中看到一個(gè)新的導(dǎo)航界面,該用戶界面看起來(lái)與...

關(guān)鍵字: google assistant Android

Google解釋了其開(kāi)發(fā)者政策中的新變化,并承諾將簡(jiǎn)化在Android 12上使用第三方應(yīng)用商店的過(guò)程。 該公告解決了有關(guān)Android應(yīng)用程序開(kāi)發(fā)的最新問(wèn)題,并且Android用戶已經(jīng)可以通過(guò)第三方商店(例如Samsu...

關(guān)鍵字: android12 google play 簡(jiǎn)化
關(guān)閉