自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(153)
  • 资源 (32)
  • 收藏
  • 关注

转载 ​Rust使用国内镜像安装依赖​

修改 cargo 的配置文件即可,对应的配置文件位置如下,如果没有就自己创建一个。# 喜欢哪个用哪个吧,没有注释掉的那个就是你选择的。Rust 依赖包使用国内镜像。Linux 或 Mac 用户。在 config 中添加如下。Windows 用户。# 中国科学技术大学。# rustcc社区。

2023-11-19 20:49:42 840

转载 一个家里,子女没出息,离不开父母的五个穷习惯

就像一个不愿意承认错误的罪犯,无法得到社会的认可,一个不愿意承担责任的孩子,也无法在未来的人生道路上取得成功。等到子女长大了,发现别人家的孩子很优秀,自己的孩子没出息,我们又开始埋怨子女没出息,殊不知,子女没出息,往往离不开父母的五个穷习惯。有些孩子,明明很努力,可是面对机会的时候,依然唯唯诺诺,只敢走熟悉的路,殊不知父母缺乏自信,也让孩子错过了一次又一次的好机会。就像一颗没有根的树苗无法独立生长,一只没有翅膀的小鸟无法自由飞翔,一个依赖性强的孩子,也无法在未来的人生道路上独立前行。

2023-10-16 10:53:02 123

原创 c++ Explicit 关键字

explicit关键字只能修饰单参数构造函数或 带默认值的多参数构造函数且只有一个变量未有默认值的构造函数”但是在有初始化列表的当下,这种言论看到就开始怀疑!从上述结果可见:即使是多参数构造,explicit关键字依然生效。C++20支持 对explicit通过条件控制是否使能。情况下,无法通过“=号”通过构造函数隐式构建对象。不知道依据是什么,但是猜测可能是。“当时在没有初始化列表的”看到网上有很多博客写。

2023-09-15 09:47:44 149

原创 互斥mutex与spinlock的对比

如果一个低优先级的任务使用spinlock抢占了资源,但一个更高优先级的任务调度了,也要获取这个锁,但锁在低优先级任务手里,但它一直没有机会执行,也就释放不了锁。多线程场景下,单纯的对访问资源进行串行访问限制,可以用互斥。但互斥中,某个线程mutex在没有得到锁的情况下,会sleep,也就是说cpu会切换线程;这时就该spinlock上场了,spinlock在没有拿到锁时,会在原地等待,直到获取到锁。同理信号量内部也是用互斥锁mutex实现的,所以在中断函数中也不能用信号量。

2023-09-14 16:56:24 152

原创 同步机制之“信号量和条件变量”的应用总结

条件变量需要和互斥锁配合使用,而信号量之间使用就可以,所以信号量更像是条件变量和互斥锁的组合,所以必然的条件变量的使用会比信号量的使用更加灵活。(1) 信号量的创建接口,int sem_init(sem_t *sem,int pshared,unsigned int value);如果信号量的值大于0,将信号量的值减1,立即返回。如果信号量的值为0或小于0,则线程阻塞。(4)信号量的清理接口(相对sem_init而言),int sem_destroy(sem_t *sem);释放信号量,让信号量的值加1。

2023-09-14 14:16:36 386 1

原创 win10家庭版远程桌面补丁_rdp wrapper

远程访问工具安装

2023-08-22 15:18:05 1247 1

原创 Ubuntu下mysql安装及远程连接支持配置

允许任何ip地址(%表示允许任何ip地址)的电脑用root和密码(password)来访问这个mysql server。如果你希望MySQL服务器对外部网络可访问,可以将其设置为服务器的IP地址或。选项用于指定MySQL服务器监听的端口号,默认为3306。选项用于指定MySQL服务器监听的IP地址。,表示仅监听本地回环地址。默认情况下,它设置为。

2023-08-14 13:42:10 1399

原创 设备树(devicetree)的interrupts属性

里面的interrupts = < >这个里面的是1个数,有的是2个数,有的是3个数。SPI:shared processor interrupts 中断号 32 ~32+224。PPI:per processor interrupts 中断号16~31。第一个参数表示是IPI、PPI、SPI、SGI其中的一个。第三个参数表示:中断触发的类型。当前interrupt 位于他的中断控制器的索引。第一个值: 该中断位于他的中断控制器的索引;第二个参数表示:是第一个参数里面的第几个。

2023-05-12 11:39:40 1532 1

原创 C++11特性学习

c++11新特性

2022-12-14 21:13:19 196

原创 python pack和unpack的用法

按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流)# 按照给定的格式(fmt)解析字节流string,返回解析出来的tuple。格式中的第一个字符来改变对齐方式(字节序).定义如下。

2022-10-10 09:52:55 1038

转载 mount命令使用详解

mount命令

2022-07-06 13:39:11 7882

原创 NFS服务安装及使用

nfs服务

2022-07-06 12:08:36 481

原创 根据PL的GPIO寄存器地址通过mmap控制GPIO

寄存器控制gpio方式

2022-07-06 09:57:55 183

原创 PS端直接控制/sys/class/gpio高低电平

直接控制PS的gpio

2022-07-06 09:48:16 201

转载 -O2时类型转换的惩罚-fstrict-aliasing/-fno-strict-aliasing\-Wstrict-aliasing=2

-O2优化

2022-07-05 09:49:09 249

原创 python反射用法

python 反射和exec动态执行代码

2022-07-04 16:28:23 100

原创 什么是mmc和emmc(mmcblkxxx、sdxx的关系)

-----------------------------------------------------------root@ubuntu-arm:/dev# ls mmc* -l //emmc芯片(mmcblk0)brw-rw---- 1 root disk 179, 0 Feb 12 2016 mmcblk0brw-rw---- 1 root disk 179, 8 Feb 12 2016 mmcblk0boot0brw-rw---- 1 root disk 179, 16 Feb ...

2022-05-09 15:32:31 1922

原创 mtd和mtdblock之间的关系

1. mtd-utils中的flash_eraseall和flash_cp两个工具只能操作mdtN 字符设备(将mtd设备分成多个区,每个区就为一个字符设备)2. mount、umount命令只对/dev/mtdblockN的MTD块设备有效3. /dev/mtdN和/dev/mtdblockN是同一个MTD设备的同一个分区(N一样),对应同一个硬件分区,两者的大小是一样的,只不过是MTD设备层提供给上层的视图不一样,给上层提供了字符和块设备两种操作视图——为了上层使用的便利和需要,比如mount命令的

2022-05-09 15:04:38 1547

转载 Python自定义模块添加以及linux下的调试方式

使用vscode添加自定义Python模块打开项目的.vscode隐藏文件夹下的launch.json文件,添加如下两行"env": {"PYTHONPATH":"${workspaceRoot}"}, "envFile": "${workspaceFolder}/.env"linux操作系统下调试python代码方法pdb的常用命令说明:l #查看运行到哪行代码n #单步运行,跳过函数s #单步运行,可进入函数p 变量 #查看变量值b 行号 #断点设...

2022-01-09 21:16:57 348

原创 手写blockque

#include <queue>#include <mutex>#include <atomic>#include <condition_variable>#include <iostream>template <typename T>class BlockQue {public: ~BlockQue(){ endBlock(); } void addTask(T data){...

2021-09-12 10:02:06 68

原创 cond_thread

#include <thread>#include <atomic>#include <queue>#include <mutex>#include <unistd.h>#include <condition_variable>#include <iostream>template <typename T>class cond_thread { typedef void (*FuncPt...

2021-09-11 22:43:46 91

转载 Linux MariaDB(Mysql)安装和简单配置

(一)使用MariaDB代替mysql数据库(MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。linux在线安装MariaDB yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start mariadb 设置开机启动..

2021-07-28 11:31:24 303

原创 内存管理基本原理

因为单次分配内存,并不仅是指定大小,会额外在指定内存前后添加cookie空间(bookspace),这样的操作会导致,高频次申请内存实际消耗内存大于实际使用, 且增加了malloc(new)调用次数和时间消耗。系统支持自定义策略,通过自己维护存池进行内存使用管理,减少malloc或new调用次数,以及cookie空间消耗。如何支持自定义策略,c++支持重载全局的operator new 和类内operator new,具体使用如下例子:#ifndef _mem_tst_h_#define

2021-07-03 19:26:30 128

转载 内存空间的连续性(逻辑地址、物理地址)

堆分配的内存空间到底是连续的还是不连续的,如malloc/new分配的内存空间是连续的吗?堆分配的空间在逻辑地址上是连续的,但在物理地址上是不连续的(因为采用了页式内存管理,windows下有段机制、分页机制),如果逻辑地址空间上已经没有一段连续且足够大的空间,则分配内存失败。堆包含一个链表来维护已用和空闲的内存块。不同进程对堆内存申请和销毁是不同步的,这就会导致一段内存区间中,部分段使用中,部分段已经空闲。在堆上新分配(用 new 或者 malloc)内存是从空闲的内存块中找到一些满足要求.

2021-07-03 19:16:15 4013

转载 堆、栈的概念及使用特性

堆和栈是一个统称,可以有很多的实现方式。计算机程序通常有一个栈叫做调用栈,用来存储当前函数调用相关的信息(比如:主调函数的地址,局部变量),因为函数调用之后需要返回给主调函数。栈通过扩展和收缩来承载信息。实际上,程序不是由运行时来控制的,它由编程语言、操作系统甚至是系统架构来决定。堆是在任何内存中动态和随机分配的(内存的)统称;也就是无序的。内存通常由操作系统分配,通过应用程序调用 API 接口去实现分配。在管理动态分配内存上会有一些额外的开销,不过这由操作系统来处理。它们的大小由什么决定?  依赖

2021-07-03 18:52:54 1454

原创 Program received signal SIGSEGV , Segmentation fault.

pthread_mutex_lockclass CBlue2th : public InnerBlue2th {public: 。。。。protected: ResCache m_resCache; //static或全局变量下可以,成员变量不行 std::set<ENUM_PROTO> m_dumpProtos;};Blue2th* CBlue2th::BT_Test_Config(vector<ENUM_RF_NAME>& .

2021-06-29 16:25:44 263

原创 八大设计原则

1. 单一职责原则 Single responsibility principle,SRP2. 接口隔离原则 Interface Segregation Principle,ISP3. 迪米特法则:Law of Demeter,LoD (最少知道原则)接口隔离原则和单一职责都是为了提高类的内聚性、降低它们之间的耦合性,体现了封装的思想单一职责原则注重的是职责,而接口隔离原则注重的是对接口依赖的隔离。迪米特法则还是在讲如何减少耦合的问题,类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,

2021-06-23 12:20:31 146

原创 multimap用法总结

multimap在没有指定插入位置时,插入相同key值的value时默认插入在后面;在指定了插入位置的提示符迭代器后(覆盖了默认插入位置)如果插入key和位置key相等则插入在指定位置的前面,否则提示符迭代器不会生效。...

2021-06-20 18:18:09 832

转载 c++:从单例到内存屏障

首先我们用c++写一个经典的单例:#include <mutex> class Singleton { public: static Singleton* GetInstance() { if (!instance_) { std::lock_guard<std::mutex> lock(lock_); if ...

2021-06-08 16:38:53 1439

原创 关于connect函数超时太久的问题(不同系统的默认超时时长不一,但都很久)

解决方案思想: 通过把socket设置为非阻塞模式,然后通过select函数自己设置定时,检测套接字描述符是否可用。windows端实现上代码: 过于粗略,仅呈思想#include <winsock2.h>#include <Windows.h>#include <conio.h>//#include <netdb.h>#include <stdio.h>#include <stdlib.h>#include ..

2021-05-14 09:37:44 947

原创 wpcap实例

#include<stdio.h>#include<iostream>#include<winsock2.h>#include<thread>#defineHAVE_REMOTE#include"pcap.h"usingnamespacestd;externu_int8_t*packPacket(u_int8_t*data,u_int16_tlen,u_int8_tproto=IPPROTO_...

2021-04-11 11:39:15 135

原创 udp校验和计算及伪首部

UDP中的伪首部是干什么用得到?UDP首部校验和计算:对于TCP和UDP的数据报,其头部也包含16位的校验和,校验算法与IPv4分组头完全一致,但参与校验的数据不同。这时校验和不仅包含整个TCP/UDP数据报,还覆盖了一个虚头部(伪首部)。校验和计算u_int16_t in_cksum (u_int16_t * addr, int len){ int nleft = len; u_int32_t sum = 0; u_int16_t *w = a...

2021-03-31 18:51:46 2044

原创 2021-02-08题记思维高度

其实每个游资大佬在成功之前都是普通人,也都经历过挫折和失败,没人生下来就是交易天才,都需要经过市场的洗礼才能成长。有些人快一些,有些人慢一些,只是要方向对,稳定盈利只是时间问题,终点都是一样的。第一句,换手决定高度很多游资票都是靠板板换手前进,起来的时候有充分换手的,后面才有可能走得远。人气也足。操作中只要量能不缩且持续上涨,一般都可以看成趋势继续。一只妖股里面的资金从来不是从头吃到尾的,都是接力换手上去的。很多一字板个股要么买不到 “”买到就是死期,在板块上攻的后期,容易出现一大.

2021-02-08 11:05:56 60

原创 rar

在Linux系统中解压文件时提示错误信息: Unsupported archive format. Please update RAR to a newer version解决方案:1.https://www.rarlab.com/download.htm 取官网下载新包或者 wget http://www.rarlab.com/rar/rarlinux-x64-6.3.0.tar.gz2.解压安装tar xvf rarlinux-x64-5.3.0.tar.gzcd rar...

2020-12-25 17:24:49 214

原创 Linux下rar unrar

以3.8.0版本为例,如果是64位平台,执行以下命令,也可以去官方网站:)下载最新版:wget http://www.rarlab.com/rar/rarlinux-x64-4.2.0.tar.gzrar软件不需要安装,直接解压到/usr/local下,以下操作需要有root权限。#tar zxvf rarlinux-x64-4.2.0.tar.gz -C /usr/local此时,/usr/local/rar下就会有rar命令和unrar命令。可以在/usr/local/bin下创建连接..

2020-12-25 17:16:18 98

原创 yum源相关

yum的各种源介绍1). CentOS-Base.repo源:CentOS默认自带,但是去除了很多有版权争议的软件,而且安装的软件也不是最新的稳定版。2). EPEL源:Extra Packages for Enterprise Linux,是由Fedora社区建立维护的。wiki:http://fedoraproject.org/wiki/EPEL Fedora EPEL 下载:http://mirrors.fedoraproject.org/publiclist/EPEL/ ...

2020-12-25 17:07:15 97

原创 C++11 锁

互斥 (Mutex: Mutual Exclusion)互斥对象锁(lock\unlock)C++使用RAII进行自动资源管理(管理类模板)加锁策略策略支持情况避免死锁线程间的锁条件锁自旋锁C++11提供了4个互斥对象(C++14提供了1个)用于同步多个线程对共享资源的访问互斥对象类名描述std::mutex最简单的互斥对象。std::timed_mutex带有超时机制的互斥对象,允许等待一段时间或直到某个时间点仍未能获得互斥对象的所有权时放弃等待。std::rec

2020-12-20 16:39:06 840 1

原创 libevent笔记- bufferevent的客户端

....using namespace std;void event_on_write(struct bufferevent *bev, void *arg){ cout<<"-------notic: data send ok"<<endl; //发送成功后回调}void event_on_connect(struct bufferevent *bev, short events, void *arg){ if (events & B.

2020-12-13 21:22:31 161

原创 libevent 笔记 -API (2) bufferevent 、读写水位及超时

void socket_eventcb(struct bufferevent *bev, short events, void *user_data){ if (events & BEV_EVENT_EOF) { bufferevent_free(bev); } else if (events & BEV_EVENT_ERROR) { bufferevent_free(bev); } else if(events & BEV_EVENT_TIMEOUT)...

2020-12-13 20:25:06 912

原创 笔记: 判断lib库是动态库还是静态库

用vc自带的lib.exe /list xxxx.lib输出如果是.obj的文件怎是静态库,如果输出的是.dll 后缀的文件则说明是动态库

2020-12-06 15:51:39 475

uboot-xilinx-v2017.3.tar.gz

uboot-xilinx-v2017.3.tar.gz

2022-05-24

urllib3-1.21.1.tar.gz

urllib3-1.21.1.tar.gz

2022-05-24

uClibc-ng-1.0.30.tar.xz

uClibc-ng-1.0.30.tar.xz

2022-05-24

python-setuptools-v38.4.0.tar.gz

python-setuptools-v38.4.0.tar.gz

2022-05-24

u-boot-2018.03.tar.bz2

u-boot-2018.03.tar.bz2

2022-05-24

uboot-xilinx-v2018.3.tar.gz

uboot-xilinx-v2018.3.tar.gz

2022-05-24

linux-4.9.113.tar.xz

linux-4.9.113.tar.xz

2022-05-24

pyzmq-16.0.2.tar.gz

pyzmq-16.0.2.tar.gz

2022-05-24

linux-xilinx-v2018.3.tar.gz

linux-xilinx-v2018.3.tar.gz

2022-05-24

dropbear-2018.76.tar.bz2

dropbear-2018.76.tar.bz2

2022-05-24

dtc-1.4.4.tar.xz

dtc-1.4.4.tar.xz

2022-05-24

busybox-1.28.4.tar.bz2

busybox-1.28.4.tar.bz2

2022-05-24

automake-1.15.1.tar.xz

automake-1.15.1.tar.xz

2022-05-24

zeromq-4.2.5.tar.gz

zeromq-4.2.5.tar.gz

2022-05-24

xinetd-xinetd-2-3-15.tar.gz

xinetd-xinetd-2-3-15.tar.gz

2022-05-24

enum-0.4.6.tar.gz

enum-0.4.6.tar.gz

2022-05-24

numpy-1.13.3

numpy-1.13.3

2022-05-24

特色商品-太原.docx

特色商品-太原.docx

2021-12-19

经典商务风Word简历模板(销售类).doc

经典商务风Word简历模板(销售类).doc

2021-12-19

蓝牙自学笔记docx.docx

蓝牙自学笔记docx.docx

2021-12-19

haoba1992-Coordinator-master.zip

Coordinator源代码

2021-12-19

infoflow_setup.exe

百度资源工具

2021-12-19

WindowsGrep23.zip

WindowsGrep23.zip

2021-12-19

iiscompression_amd64.msi

iiscompression_amd64.msi

2021-12-19

会议工具-录屏大师-工具

会议工具-录屏大师-工具

2021-12-19

sc_vs.net_2003_enar_cd1.iso

VS2003 CD1

2021-12-19

sc_vs.net_2003_enar_cd2.iso

VS2003 CD2

2021-12-19

xlslib-package-2.5.0

写excel的开源库代码,configure之后需要修改makefile文件,主要是修改automake相关路径,添加miss文件,具体参考libxls里面

2017-09-11

libxl 3.8.0版本 for linux

libXL 3.8.0 For linux最新版,不依赖excel的进程。接口定义详见网站,适用性比较好。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2017-09-11

线程池的应用(C语言版)

用C实现线程池。好不好看看就知道。

2012-06-15

windows API 函数大全

windows API 函数大全

2012-05-13

server_MFC

自己写了个服务端 还没写客户端呢

2012-02-12

空空如也

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

TA关注的人

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