自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 C++ explicit

在读一些开源代码的时候会见到explicit关键字,explicit的字面意思是清晰的、明确的、显性的。在C++语法中,他的作用就如他的意思那样,让类的构造函数被显示调用。如果不了解explicit,可能会造成意想不到的错误。1. 没有explicit的情况我们先举一个没有explicit例子。#include <iostream>using namespace std;class A{public: A(int i = 1) : m(i) {}

2022-01-17 20:11:02 4764

转载 GPIO输入输出

小白讲解单片机GPIO输入输出_pamperMing的博客-CSDN博客_gpio输入和输出的区别关于GPIO及其输入输出功能的介绍:GPIO又俗称为I/O口,I指的是输入(in)O指的是输出(out),那么I/O口就是各个单片机的输入输出 ,也是指的是各个引脚,如下图片中1-39的编码序号,就是可以提供输入输出的I/O口。那么什么是输入和输出呢?输入是检测各个引脚上的电平状态,(电平状态分为高电平和低电平,高电平就是有电压数字符号为1,低电平就是通常指接地端数字符号为0)比如按键.

2022-01-17 19:59:50 2117 1

原创 ModBus通信协议的【主从模式】

主从模式(1) 至少且只有一个主机,其他的都是从机(2) 不管任何时候,从机都不能主动向主机发送数据(3) 主机具有访问从机的权限,从机不可以主动访问从机,任何一次数据交换,都要由主机发起(4)不管是主机还是从机,系统一旦上电,都要把自己置于接收状态(或者称为监听状态)主从机的数据交互1.主机将自己转为发送状态2.主机按照预先约定的格式发出寻址数据帧。    所谓的约定,可是主机开发者和从机开发者约定好的规约,好,例如主机要通过...

2021-09-29 13:47:22 4650

原创 如何编写一个Systemd Service

0x01 什么是Systemd ServiceSystemd 服务是一种以 .service 结尾的单元(unit)配置文件,用于控制由Systemd 控制或监视的进程。简单说,用于后台以守护精灵(daemon)的形式运行程序。 Systemd 广泛应用于新版本的RHEL、SUSE Linux Enterprise、CentOS、Fedora和openSUSE中,用于替代旧有的服务管理器service。 基本命令:systemctl command xxx.service# 其中command

2021-09-16 13:24:45 3744

转载 Unicode 和 UTF-8

作者:uuspider链接:https://www.zhihu.com/question/23374078/answer/65352538来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。举一个例子:It's 知乎日报你看到的unicode字符集是这样的编码表:I 0049t 0074' 0027s 0073 0020知 77e5乎 4e4e日 65e5报 62a5每一个字符对应一个十六进制数字。计算机只懂二进制,因此,严格按照.

2021-06-21 19:55:30 124

原创 左值和右值,move forward

https://blog.csdn.net/weixin_42496943/article/details/115293829

2021-05-18 10:43:41 90

原创 C++ const

C++ const 是判断左边得类型是什么就表示哪个是const。不管const写成如何,读懂别人写的const和*满天飞的类型的金科玉律是const默认作用于其左边的东西,否则作用于其右边的东西:const applies to the thing left of it. If there is nothing on the left then it applies to the thing right of it.[1]例如,const int*const只有右边有东西,所以cons

2021-05-18 09:53:55 98

原创 buildroot 编译

1、buildroot 交叉编译链工具生成的在out目录下,host目录2、更新库文件可以在rootfs 文件系统目录下,package目录,进入要升级的包,如这里php需要修改php.mk和php.hash两个文件php.hash 文件如下:修改php.mk 文件然后编译完成...

2021-05-11 11:43:40 591

转载 php的运行原理、cgi对比fastcgi以及php-cgi和php-fpm之间的联系区别

最近项目中本地测试环境遇到了windows环境下的nginx使用file_get_contents/curl访问php文件导致的阻塞问题,一直在找解决的方案,这个问题研究了三天终于找到了解决方案,特别因为这个我也对php的运行原理产生了兴趣,所以这里对此进行一定程度的记录,可能会有错漏的地方,欢迎指正。要了解php的运行原理,首先要了解下面几个概念:CGI:CGI的英文是(COMMON GATEWAY INTERFACE)公共网关接口,它的作用就是帮助服务器与语言通信,这里就是nginx和

2021-05-07 10:12:29 470

转载 Qt 的信号槽关系

  上面代码的运行结果:  槽函数执行时的所在线程和信号发送操作的所在线程并不是同一个,前者位于main线程中,后者位于子线程中。  由此可以引申两个问题:  (1) 二者同属于子线程类,程序运行时发送信号操作在子线程完成,对应的槽函数却是在main线程执行,究其原因,得从Qt对象的依附性说起。  在Qt编程中,默认情况下,对象依附于创建自身的线程,例如上面代码中TestThread对象t它是在main()函数中创建的,那么t依附于主线程,而槽函数在其所依附的线程中被调用执行,因此,槽函数Test

2021-05-06 13:46:11 98

转载 一个C++引用库的头文件预编译陷阱

转载于:https://blog.csdn.net/deatharthas/article/details/115187637

2021-04-23 14:15:30 86

原创 C++强制转换类型

1) static_cast用法:static_cast <类型说明符> (变量或表达式)它主要有如下几种用法: (1)用于类层次结构中基类和派生类之间指针或引用的转换 进行上行转换(把派生类的指针或引用转换成基类表示)是安全的 进行下行转换(把基类的指针或引用转换为派生类表示),由于没有动态类型检查,所以是不安全的 (2)用于基本数据类型之间的转换,如把int转换成char。这种转换的安全也要开发人员来保证 (3)把空指针转换...

2021-04-22 10:44:47 358

原创 网络数据包的组成详解

常见数据包的包头长度:Ether Header Length: 14 BytesTCP Header Length : 20 BytesUDP Header Length : 8 BytesIP Header Length : 20 Bytes1.网络封包的整体过程2. IP 数据包3. Tcp 数据包4. UDP 数据包6、Ether Header:7、ICMP Packet:8、ARP Packet:...

2021-04-16 10:54:23 4427

原创 直接初始化和复制初始化

还是那一句,什么是直接初始化,而什么又是复制初始化呢?简单点来说,就是定义对象时的写法不一样,一个用括号,如ClassTest ct1("ab"),而一个用等号,如ClassTest ct2 = "ab"。但是从本质来说,它们却有本质的不同:直接初始化直接调用与实参匹配的构造函数,复制初始化总是调用复制构造函数。复制初始化首先使用指定构造函数创建一个临时对象,然后用复制构造函数将那个临时对象复制到正在创建的对象。所以当复制构造函数被声明为私有时,所有的复制初始化都不能使用。现在我们再来看回mai

2021-03-23 16:19:05 463

原创 拷贝构造函数和赋值构造

为什么空类可以创建对象呢?示例代码如下:#include <iostream>using namespace std;class Empty{};void main(){ Empty obj1; cout << sizeof(Empty) << endl; // 1}让我们先看看这个例子。既然都没有构造函数,怎么实现对象obj1的构建呢?哦,经过大脑的回旋式搜索,忆得有一本书上说过,当用户定义一个空类(如上)时,编译器

2021-02-27 16:31:49 1014

原创 多态和虚函数

父类:Father子类:Son1. Father* fa=new Son() 实例1:#include<iostream>using namespace std; class Father{public: Father(){ cout << "this is the Father constructor!" << endl; } void watchTv(){ cout << "Father is watchin...

2021-02-24 21:31:20 121

原创 C++类模板的整理

类模板和模板类所谓类模板,实际上是建立一个通用类,其数据成员、成员函数的返回值类型和形参类型不具体指定,用一个虚拟的类型来代表。使用类模板定义对象时,系统会实参的类型来取代类模板中虚拟类型从而实现了不同类的功能。人们需要编写多个形式和功能都相似的函数,因此有了函数模板来减少重复劳动;人们也需要编写多个形式和功能都相似的类,于是C++引人了类模板的概念,编译器从类模板可以自动生成多个类,避免了程序员的重复劳动。例如,在《C++运算符重载》一章中的《C++实现可变长度的动态数组》一节中,我们实现了..

2021-02-24 10:05:20 212

转载 Linux 进程的优先级nice

另请参阅:如何监视每个用户基础的Linux进程和设置流程限制了解Linux内核计划程序内核调度程序是内核的一个单位,它决定了在所有可运行的进程中执行下一个最合适的进程;它在系统上的可运行进程之间分配处理器时间。可运行的进程是等待CPU时间的进程,它已经可以执行了。调度程序在Linux中构建了多任务的核心,使用基于优先级的调度算法在系统中的可运行进程之间进行选择。它基于最值得的以及CPU时间的需要对进程进行排序。了解流程优先级和良好价值内核存储有关进程的大量信息,包括进程优先级,这...

2021-02-23 10:35:39 379

原创 MCU 程序

2021-02-03 14:50:32 410

原创 SSH known_hosts / authorized_keys 的解释

参考:http://blog.sina.com.cn/s/blog_148a693f10102vj8m.html什么是SSH?简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在.

2021-02-02 17:09:25 6133 6

原创 ssh 反向代理

系统版本:Centos7这篇文章主要介绍了如何利用SSH 反向隧道穿透NAT,并演示了如何维持一条稳定的SSH 隧道。1. 描述一下目前的机器状况,梳理梳理:机器 IP 用户名 备注 A 10.21.32.106 gdut728 目标服务器,处于内网 B 123.123.123.123 root 外网服务器,相当于桥梁的作用 2. 解决方法:通俗地说:就是在机器A上做到B机器的反向代理;然后在B机器上做正向的代理实现本地端口的转

2021-02-01 18:53:19 2986

转载 UPNP

原文:https://www.uedbox.com/post/65529/视频投屏概念投屏不止是投射视频,还包括常见的多媒体文件。但常见的还是视频投屏功能需求。视频投屏大致分2种两种:投射视频流到设备上。 Google -> Chromecast Wi-Fi Alliance -> Miracast Intel -> WiDi Apple -> AirPlay 传递多媒体地址到设备上,由设备自己来展示或者播放。 Digital Home Work

2021-01-26 18:42:04 1059 1

原创 堆 栈内存生长方向

堆栈和内存增长方向问题:堆:生长方向是向上的,也就是向着内存地址增加的方向。通常我们在画内存四区图时,堆的开口是向上的。栈:它的生长方式是向下的,是向着内存地址减小的方向增长。栈的开口是向下的,上面的底部是栈底,下面的开口是栈顶。在内存中,“堆”和“栈”共用全部的自由空间,只不过各自的起始地址和增长方向不同,它们之间并没有一个固定的界限,如果在运行时,“堆”和 “栈”增长到发生了相互覆盖时,称为“栈堆冲突”,系统崩溃。栈的增长方向与栈帧布局这个上下文里说的“栈”是函数调用栈,是以“栈.

2020-09-28 12:15:14 7750

原创 ALSA 音频概念

假设我们将要使用一个立体声 16位 44.1k的音频流,单向(录音或者播放),那么我们就有立体声 = 2通道 1个样本 16bits = 2bytes 1个帧 代表 所有通道的一个样本。那么我们现在是双通道,所以 1帧 = (通道数) * (样本大小bytes) = 2 * 2 = 4bytes 为了能支持2 * 44.1k的采样率,系统必须支持如下的速度 bsp_rate = (通道数) * (1个样本长度) * (采样率) = 1帧 * 采样率 = 2 * 2 * 44.1k =

2020-05-15 09:59:53 358

转载 Ubuntu中恢复rm命令误删文件(超级详细+亲测有效)

在实验室做项目时使用的是ubuntu16.04某次开发时打字太快从而误删除别的文件,而且还是很重要的文件,ubuntu没有像windows一样的回收站,因此删完就没了,只能通过其他办法恢复。第一步:进入误删除文件的目录内,查看被删文件的挂载分区如 cd /home/conference 进入到conference目录,原来的误删除的文件处于此目录内使用df -h命令查看此目录的挂载...

2019-12-10 12:07:03 11814

转载 openssl生成证书及签名

第一步,生成私钥$ openssl genrsa -out privatekey.pem 2048查看生成的私钥内容$ file privatekey.pem privatekey.pem: PEM RSA private key$ cat privatekey.pem-----BEGIN RSA PRIVATE KEY-----MIIEpAIBAAKCAQEA8A...

2019-11-01 16:37:32 459

转载 ssl客户端与服务端通信的demo

服务端程序流程#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <netinet/in.h> #include <sy...

2019-06-27 09:37:36 670 3

转载 Http协议multipart/form-data

1、form-data:                    就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,...

2019-04-03 16:30:39 7346

转载 ADB forward端口转发

本系列文章从adb forward tcp:11111 tcp:22222说起,介绍adb forward的一些细节,包括adb forward的相关代码,adb forward在drozer上的使用,以及如何利用adb forward开发一个PC端和手机端通信的工具。本文是本系列文章中的第一篇,介绍adb forward的大致原理,目的是看完这篇之后可以对adb forward有个清晰的理解。...

2019-03-19 10:41:27 10574

转载 SSH远端映射

首先要记住一件事情就是:SSH 端口转发自然需要 SSH 连接,而 SSH 连接是有方向的,从 SSH Client 到 SSH Server 。而我们所要访问的应用也是有方向的,应用连接的方向也是从应用的 Client 端连接到应用的 Server 端。比如需要我们要访问Internet上的Web站点时,Http应用的方向就是从我们自己这台主机(Client)到远处的Web Server...

2019-03-18 11:52:14 1999

转载 Https单向认证和双向认证

转载:https://blog.csdn.net/duanbokan/article/details/50847612 HyperText Transfer Protocol,超文本传输协议,是互联网上使用最广泛的一种协议,所有WWW文件必须遵循的标准。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。使用TCP端口为:80二、Htt...

2019-01-29 11:22:34 142

转载 HTTP,HTTPS,SSL/TSL 之间的关系

转载: https://blog.csdn.net/freekiteyu/article/details/76423436 相关系列一篇文章看明白 TCP/IP,TCP,UDP,IP,Socket 之间的关系一篇文章看明白 HTTP,HTTPS,SSL/TSL 之间的关系概述什么是 HTTP ?超文本传输协议(HTTP,HyperText Transfer Protocol...

2019-01-29 09:48:10 553

转载 (C++)UrlEncode的标准实现

  关于UrlEncode的实现(C++),网上有很多不同的版本,对需要编码的字符集的选取并不统一。那么到底有没有标准呢?答案是有的,参见wiki    绝对不编码的,只有字母、数字、短横线(-)、下划线(_)、点(.)和波浪号(~),其他字符要视情况而定,所以一般性的urlencode只需保留上述字符不进行编码。    下面给出实现:unsigned char ToHex(unsig...

2018-12-27 18:39:42 1028

转载 samba不显示指定文件

不显示隐藏文件[home]加上 veto files=/.*/veto files 为设定禁止文件Monday, May 11, 8:31 PM

2018-12-20 16:01:26 1288

转载 shell sed替换字符串

#Echo “2006-11-21 22:16:30” | sed ‘s/-//g’ | sed ‘s/ //g’ | sed ‘s/://g’得到的结果就是:20061121221630

2018-12-19 13:29:40 1897 1

转载 ubuntu 下安装sftp

 vsftpd介绍vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制...

2018-12-18 15:35:19 1077

转载 typedef 说明

typedef void (*sighandler_t)(int);sighandler_t signal(int signum, sighandler_thandler);此处由于加了typedef自定义了一个新类型sighandler_t,所以第二行的函数原型看起来顺眼多了,形式跟intfunc(char c, int i)无异,但是如果看不懂typedef语句,这两句话仍然是噩梦。...

2018-11-12 12:07:07 177

转载 阻塞非阻塞同步异步

原文:https://blog.csdn.net/sinat_35512245/article/details/53836580  文章: https://blog.csdn.net/lcx46/article/details/420068451. 阻塞,非阻塞首先,阻塞这个词来自操作系统的线程/进程的状态模型中,如下图:一个线程/进程经历的5个状态,创建,就绪,运行,阻塞,...

2018-10-31 17:22:52 145

转载 ADB 详解

版权声明:本文为博主原创文章,转载时请务必注明本文地址, 禁止用于任何商业用途, 否则会用法律维权。 https://blog.csdn.net/stpeace/article/details/24933813       adb是什么? adb就是Android调试桥,很形象啊。 先来看adb原理的逻辑图:      再来进行实际操作:我的pc的ip是192.168.1.102, 我的...

2018-10-19 10:55:50 341

转载 Linux—shell中$(( ))、$( )、``与${ }的区别

命令替换在bash中,$( )与` `(反引号)都是用来作命令替换的。命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。exp 1  $ echo today is $(date "+%Y-%m-%d") today is 2014-07-01  $( )与``在操作上,这两者都是达到相应的效...

2018-09-26 09:36:52 224

HZK中文点阵字库

支持英文字符点阵和中日文点阵字符12*12,16*16,24*24等格式

2017-12-22

PlatinumKit

PlatinumKit库

2016-07-27

wubi10.04安装

wubi10.04 一个独立的系统,不需要像虚拟机那样来回切换。就是用这个文件安装ubuntu可以像卸载软件

2013-06-27

QT学习之路

QT学习之路.pdf,适合刚开始接触QT的人,里面讲解了QT一些控件的使用方法

2013-03-12

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除