善见致知
这个作者很懒,什么都没留下…
展开
-
两种MQTT协议可视化调试工具
两种MQTT协议可视化调试工具一、MQTT技术背景MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一个基于客户端-服务器的消息发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上 ,MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开...原创 2019-04-29 09:50:59 · 36035 阅读 · 6 评论 -
systemd.network网络配置
译者:金步国描述网络配置的操作由 systemd-networkd.service(8) 执行。注意,网络设备的Network文件必须以 .network 作为后缀名,否则将被忽略。 一旦与Network文件匹配的网卡出现,对应的Network文件就会立即生效。Network文件分别位于: 系统网络目录(/usr/lib/systemd/network)、 运行时网络目录(/run/systemd/network)、 本机网络目录(/etc/systemd/network)。 所有的Network文原创 2021-10-26 13:55:45 · 6923 阅读 · 2 评论 -
交叉编译gstreamer1.12
交叉编译gstreamer1.12一、下载源码部署环境获取源码首先编译依赖库1.zlib2.libffi3.glib编译gstreamer一、下载源码部署环境编译过程需要一些ubuntu的系统工具,首先安装,比如libtool是一个编译脚本解释器,负责处理lo 和 la文件的链接;其他有的我也不确定需不需要。apt-get install bison flex libusb-1.0-0-dev libgudev-1.0-dev libxv-devapt-get install build-es原创 2021-06-07 09:13:30 · 1256 阅读 · 0 评论 -
Docker学习(三) swarm 与tutk集群
Docker Swarmdocker集群概念群集是一组运行docker的设备组成,其中部分机器是集群管理机(Swarm Manager) ,其他的是工作机(Worker)。群集中的机器可以是物理机或虚拟机。加入群集后,它们被统称节点(Node)。Docker Swarm是docker公司发布的一套用来管理docker集群的工具(本质上也是一个docker镜像),可以将整个集群在逻辑上以一个单一的Docker终端的形式公开给用户。Swarm 使用标准的 Docker API 接口作为其前端访问入口,与原创 2020-07-01 16:24:50 · 583 阅读 · 0 评论 -
shell脚本学习总结
Shell脚本基础知识1.概念Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过原创 2020-07-01 16:24:17 · 439 阅读 · 0 评论 -
进程、线程和多线程
线程池&woker代码阅读1.进程(process)进程就是一段程序的执行过程。 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。①进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆原创 2020-07-01 16:23:50 · 632 阅读 · 0 评论 -
RPC远程过程调用设计分析
RPC远程过程调用设计分析一、基础 RPC 的全称是 Remote Procedure Call 是一种进程间通信方式。 它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cw0NAqyF-1592469600203)(C:\Users\HUANGX~1\AppData\Local\Temp原创 2020-07-01 16:23:22 · 436 阅读 · 0 评论 -
Makefile工程文件 编写规范
Makefile编写学习记录一.基本规则target:dependencies system command(s)目标文件(可以是Object File,也可以是执行文件 ):依赖文件(tab缩进)产生目标文件的命令Makefile $@, $^, $< 为自动变量$@ 表示编译过程中生成的目标文件$^ 表示所有的依赖文件的名字,名字间用空格隔开$< 表示第一个依赖文件名$? 表示比目标还要新的依赖文件列表1.变量使用规范:在Makefile中要定义一系列的原创 2020-07-01 15:57:40 · 1011 阅读 · 0 评论 -
jerasure纠删
编码引擎评判标准以下几个关键指标可以对编码引擎性能进行分析:1、高编/解码速度;2、参数可配置;3、编码速度稳定性;4、代码简洁、稳定;5、降低修复开销等。一个可配置参数的编码引擎可以根据数据的冷热程度和数据重要程度选择不同的编码系数而不需要改动引擎本身,这大大降低了后续的开发和维护所需要的精力。比如可靠性要求高的数据可以选择更多冗余。数据恢复和更新代价高,因此常常针对只读数据,或者冷数据。Erasure Code 参数说明用法:./encoder ‘data/test.rar’ k原创 2020-05-27 15:06:37 · 804 阅读 · 0 评论 -
gcc编译选项–build、–host和–target
在交叉编译configure时,通常会需要设置–build、–host和–target选项。各个选项的含义如下:–build:编译所用的机器的平台。–host:编译出的代码运行的平台。–target:编译出来的工具链生成的代码的运行平台。这个选项不常用,一般只在编译gcc、ld等工具链的过程中用到。在不涉及到交叉编译的时候,–build、–host、–target是一样的,不需要特别设置。交叉编译的时候,比如需要在x86平台编译arm程序,就需要设置–build和–host选项。通常,本机上的gc转载 2020-05-18 15:28:27 · 5576 阅读 · 5 评论 -
ipfs的御用包管理器 gx 入门指南(转载)
##一、何为 gx源码位置:https://github.com/whyrusleeping/gx官方称其为一个通用包管理器,构建于 IPFS 之上,gx 最初的设计灵感来自 nodejs 的 npm ,用来处理 golang 项目中的依赖包。如果从源码来欣赏 IPFS 并且心存二次开发的愿望,那么对 gx 的掌握还是非常有必要的。本人在年初学习 IPFS (v0.4.12) 时并没有重视 ...转载 2020-04-21 11:26:28 · 938 阅读 · 0 评论 -
未定义的引用错误
在编译工程时出现:/librestapi.a(rest_harbor.o):在函数‘rest_harbor_get_sysinfo’中: /rest_harbor.c:145:对‘harbor_get_sysinfo’未定义的引用 collect2: error: ld returned 1 exit status但是我包含了实现的头文件。...原创 2020-07-01 16:11:06 · 450 阅读 · 0 评论 -
Linux的读写流原理
一.基于流的操作1.打开流#include &lt;stdio.h&gt;FILE *fopen(const char *path, const char*mode);FILE *fdopen(int fd, const char *mode);FILE *freopen(const char *path, const char*mode, FILE *stream);这三个函...原创 2018-12-03 10:19:56 · 981 阅读 · 0 评论 -
Linux编译连接原理
Linux编译链接原理1.一般流程一个C/C++文件要经过预处理(preprocessing)、编译(compilation)、汇编(assembly)、和连接(linking)才能变成可执行文件。①预处理就是将要包含(include)的文件插入原文件中、将宏定义展开、根据条件编译命令选择要使用的代码,最后将这些代码输出到一个“.i”文件中等待进一步处理。 1)预编译(生成.i文件)...原创 2018-12-03 10:17:37 · 806 阅读 · 0 评论 -
rootfs & bootfs & bootloader
文件系统 &amp; bootloader一、文件系统 一个linux系统按启动顺序可以划分为:引导加载程序、内核、文件系统、应用程序。 文件系统可以通俗的理解为管理文件存放位置的管家,不同的操作系统有不同的文件系统。Linux中一般使用EXT2格式的文件系统,(EXT3/EXT4增加了日志功能)是一种索引式(inode)文件系统,不需要像U盘那样经常磁盘重组。resize2fs命令可...原创 2018-12-03 10:13:39 · 5854 阅读 · 4 评论 -
Shell脚本基础知识学习记录
Shell脚本基础知识#!/bin/bash #表示该脚本使用后面指定的解释器/bin/bash解释执行echo "Hello World" #脚本功能1.概念Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批...原创 2018-12-03 09:58:50 · 381 阅读 · 0 评论 -
信号量semaphore
信号&信号量semaphore信号是事件发生时对进程的通知机制。有时可称之为软件中断。信号与硬件中断的相似之处在于打断了程序执行的正常流程。针对每个信号,都定义了一个唯一的(小)整数,从1开始顺序展开。信号分为两大类:一组用于内核向进程通知事件,构成传统或者标准信号。Linux标准信号的编号范围为1~31。另一组由实时信号构成。信号到达后,进程视具体信号可以执行以下操作:...原创 2018-12-03 09:57:25 · 859 阅读 · 0 评论 -
strace工具使用手册
strace工具使用手册一、说明 Strace是Linux中一个调试和跟踪工具。它可以接管被跟踪进程执行的系统调用和收到的信号。然后把每一个执行的系统调用的名字,参数和返回值打印出来。可以通过strace找到问题出现在user层还是kernel层。strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。...原创 2018-07-31 09:03:38 · 5381 阅读 · 8 评论