- 博客(7)
- 资源 (12)
- 收藏
- 关注
原创 【Protobuf】Protobuf的编解码规则详解
在很多很多时候被问起,为什么选择protobuf?最先被想起的回答的就是体积小、解析快。那相比较于json、XML,为什么protobuf能够做到又小又快呢?归其原因,这与它的编解码方式有很大的关系。本文将走进protobuf的深层原理来进行剖析。实例本文针对实际的例子,来对protobuf的编解码方式进行详细讲解。其中,.proto文件定义如下:syntax = "proto2";...
2019-12-30 21:06:08 16106 3
原创 【Protobuf】Protobuf的C++/python版本的使用
上一篇博文讲解了protobuf的安装和.proto文件的定义,并且可以生成C++版本的.cc和.h文件,python的.py文件。那么本文就利用生成的这些数据访问类,进行对象的序列化和反序列化。上篇博文地址:.proto文件定义syntax = "proto2";enum PhoneType { MOBILE = 0; HOME = 1; WORK = 2;...
2019-12-28 09:53:43 6351 2
原创 【Protobuf】Protobuf下载安装和.proto文件定义
序列化和反序列化有些时候,我们希望将对象保存到文件中,或者传输给其他的应用程序。比如:web网页后端和前端的数据交互,应用程序产生的中间数据等等。这种将数据结构或对象以某种格式转化为字节流的过程,称之为序列化(Serialization),目的是把当前的状态保存下来,在需要时复原数据结构或对象(序列化时不包含与对象相关联的函数,所以后面只提数据结构)。反序列化(Deserialization)...
2019-12-25 19:00:53 16019 4
原创 【C++】C++11的std::function和std::bind用法详解
在设计回调函数的时候,无可避免地会接触到可回调对象。在C++11中,提供了std::function和std::bind两个方法来对可回调对象进行统一和封装。可调用对象C++中有如下几种可调用对象:函数、函数指针、lambda表达式、bind对象、函数对象。其中lambda表达式和bind对象是C++11标准中提出的(bind机制并不是新标准中首次提出,而是对旧版本中bind1st和bind2...
2019-12-23 10:09:44 41519 10
原创 【Cmake】利用NDK进行Android的交叉编译(附实例)
很多时候,对于C++软件工程师来说,可能需要编译能够在Android版本上直接运行的可执行程序、或者是编译so库文件,这个时候就需要完成交叉编译。在命令行下执行交叉编译有两种方式:一是用NDK自带的工具链二是使用独立工具链一般来说,只要使用NDK自带的工具链即可满足日常的需求。本文就这种交叉编译方式进行讲解。前期准备对于C++软件工程师而言,如果需要进行交叉编译,一般需要准备如下内容...
2019-12-19 21:14:32 30429 2
原创 【CPU】ARM底层汇编之neon指令集优化(附实例)
当在ARM芯片上进行一些例如图像处理等计算的时候,常常会因为计算量太大造成计算帧率较低的情况。因而,需要选择一种更加简单快捷的计算方式以获得处理速度上的提升。ARM NEON就是一个不错的选择。Neon指令优化NEON是一种SIMD(Single Instruction Multiple Data)指令,也就是说,NEON可以把若干源(source)操作数(operand)打包放到一个源寄存器...
2019-12-16 21:19:54 15722 1
原创 【Simpleperf】Android的CPU分析,性能优化利器
很多时候,写代码是一件很爽的事情,但最后需要对APP进行瘦身、性能分析却是一件很棘手的事情。当需要对APP的性能进行分析时,Simpleperf是一个简单快捷的选择。正文开始前,先奉上官方的资料:Simpleperf 命令和选项参考Simpleperf 用法什么是SimpleperfSimpleperf是NDK软件包中提供的一种多功能命令行工具,方便为Android应用流程执行C...
2019-12-10 19:41:21 20665 2
ESP8266 WIFI模块使用资料(STM32控制程序)
2019-04-21
MATLAB在语音信号分析与合成中的应用
2019-04-04
DS18B20温度传感器模块使用资料包(stm32控制程序)
2019-04-03
Aria2-master
2018-09-15
Linux高级编程笔试题答案
2018-09-15
动态规划之邮局选址
2018-08-11
嵌入式操作系统基础μCOSII和Linux
2018-07-21
HC-05蓝牙模块使用资料包(STM32控制程序)
2018-05-19
STM32F103学习资料和开发手册
2018-05-10
ULN2003芯片控制28BYJ48步进电机资料
2018-04-03
TMS320VC5509A的TI官方文档
2018-03-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人