自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(135)
  • 资源 (20)
  • 收藏
  • 关注

原创 linux 定时查看各个进程占用内存

可在后台运行该脚本,每60s执行一次。

2022-10-22 15:19:49 410 1

原创 c语言 字符串分割与拼接

【代码】c语言 字符串分割与拼接。

2022-09-02 13:44:23 723

原创 串口卡住问题分析与解决

1.问题说明:路由器在挂机过程中,偶现串口卡住,web页面进不去,有限终端拿不到地址的现象。2.问题分析:(1)通过ssh进入串口,通过netstat -nap查看网络状态,发现多个进程的socket接送队列阻塞。(2)查看进程的堆栈信息,发现都被tty_write_lock锁住。(3)tty_write_lock与UART的软件流控有关,关闭软件流控之后问题解决。(在etc/profile 中加入stty -F /dev/ttyS0 -ixon -ixoff)关闭UART流控。3.产生原

2022-04-28 11:48:48 3770

原创 串口使用魔术键

在开发过程中遇到串口卡死的情况,想用魔术键来查看相关信息。开启了内核配置:CONFIG_MAGIC_SYSRQ启用了sysrq,echo 1 >/proc/sys/kernel/sysrq使用Alt+PrintScreen+[CommandKey] ,没有效果。在网上查看资料后,找到原因:例如,要让内核导出内存信息(CommandKey “m”),应该同时按下Alt 和 Print Screen 键,然后按下 m键.在串口终端上,要想获得同样的效果,需要先在终端上发送Break信号,

2022-04-26 18:35:04 584

原创 我的创作纪念日

机缘接触CSDN是因为想获取知识,接触之后想分享自己的知识。收获转眼间已经过了5年,访问量超过50万,收获颇丰。日常工作总有自己觉得有价值的东西会持续分享。憧憬希望工作越来越好,可以分享更过有价值的东西。...

2022-04-20 09:49:48 223 2

原创 Linux 内核中的coredump设置

一、目标为了更好的处理自研开发板上的程序的崩溃问题,需要记录程序的崩溃日志,生成coredump文件。二、问题在自研开发板上用ulimit -c 设置了core file size的大小,以及在/proc/sys/kernel/core_pattern修改了coredump文件生成路径之后,还是无法生成coredump文件。三、原因分析在虚拟机上做上述设置,是可以生成coredump文件的,因此考虑是linux内核设置的问题。在网上查找众多资料后,找到了答案:https://www.cnblogs

2022-01-19 10:03:33 1833

原创 linux 双向链表详解

一、LIST_HEAD创建一个链表头header。1.LIST_HEAD(header);创建一个实际节点,将其加在header后面。2.list_add(&first_node.list, &header);再创建一个节点,将其加在header后面。3.list_add(&second_node.list, &header);参考:https://blog.csdn.net/wanshilun/article/details/79747710..

2021-12-20 21:20:38 1821

原创 访客wifi隔离实现

一、内容介绍限制访客wifi访问路由器设置页面。二、解决思路利用iptables和ebtables对相关的端口进行过滤。三、iptables与ebtables框架四、所遇问题一、开始没有把上图理解清楚,在ebtables的output中加过滤规则,这样会导致经过iptables中的forward的数据也会被限制,影响访客用户正常上网。解决方法:规则在iptables中加入。二、在iptables中加入规则时遇到一个新问题,需要对wifi的接口进行限制,但iptables中数据都是在br0中

2021-11-15 19:29:32 3504

原创 shell脚本判断语句中括号[]的问题

shell中最简单的判断语句一直报错not fond#!/bin/bashfor i in `seq 1 7`do var=5 var1=4 if [$var!=$var1] then echo "false" fidone错误原因:在bash的语法中使用中括号作为shell的判断式时,中括号的两端必须要有空格符来分隔,并且在中括号[]内的每个组件都需要有空格键来分隔。参考:https://blog.csdn.net/wz9473...

2021-09-15 16:38:24 706

原创 source insight 4中文乱码问题

1.单个文件乱码解决办法:【File】 > 【Reload As Encoding...】 > 【Chinese Simplified (GB18030)】 > 选择后,点击load。2.所有文件乱码解决办法:【Options】 > 【Preferences】 >File标签中,最下面的“Default encod­ing” :改成Chinese Simplified(GB2312) CP:936,点击确定。然后关掉当前工程的所有文件,关掉工程,重新打开工程,中文显

2021-09-09 10:38:10 3080 2

原创 C++ 内存管理的总结与思考

一、内存区域堆、栈、自由存储区、全局变量区、常量存储区。主要谈一下堆和自由存储区的区别:自由存储区:是两个动态内存区域之一,由new/delete分配/释放。对象生存期可以小于分配存储的时间;也就是说,自由存储对象可以在不立即初始化的情况下分配内存,也可以在不立即释放内存的情况下销毁内存。在分配存储期间,但在对象的生命周期之外,可以通过void*访问和操纵存储,但不能访问、获取其地址或以其他方式操纵原型对象的非静态成员或成员函数。Heap:堆是另一个动态内存区域,由malloc/free及其

2021-08-03 14:03:19 207

原创 C++ map遍历删除的正确写法

map<string,int> testMap;for(auto it = testMap.begin(); it != testMap.end(); ++it){ if(it->second == xxx) { testMap.erase(it); //这里会出问题 }} 错误原因:it指针被erase之后会失效,for循环中对it操作其结果都是不可预料的,可能造成程序崩溃。修改后的正确写法如下:map<stri.

2021-03-18 14:47:36 8235 1

原创 UPDATE statement on table xxx‘ expected to update 1 row(s); 0 were matched

python脚本做数据表归档时遇到一个问题:UPDATE statement on table xxx' expected to update 1 row(s); 0 were matched原因是原数据表中timestamp类型有不合法数据‘0000-00-00’,开启mysql严格模式后,将数据表加入到历史表中会有错误。因此加了一个判断,当出现不合法的timestamp数据时,将数据置为空。但我在更新数据表的字段时,更新了原表的数据,导致删除原表数据时,数据变化了,会出现上述错误。...

2021-03-16 10:40:59 1832

原创 git相关命令

git日常操作一、第一次clone代码// 新建一个自己的分支,并提交到远程git上1. git clone 【项目地址】2. cd 【项目地址】(进入项目)3. git checkout -b dev_xxx (新建并切换到自己分支)4. git push origin dev_xxx(把dev_xxx推送到远程)二、日常开发1. git pull origin develop(先拉取远程主分支)2. 开发3. git checkout -b feature/xxx (新建并切换到自

2021-02-23 18:49:54 62

原创 mysql 存储过程 插入大量数据

需求:测试sql语句的性能,在数据库中插入10万条数据用于测试。DELIMITER //drop PROCEDURE IF EXISTS kxc;create PROCEDURE kxc()begin declare i int; set i=0; start transaction; while i<100000 DO //sql语句插入 set i=i+1; end while; commit; end //DELIMITE

2020-12-14 21:04:26 499

原创 python: base64 解码出现:Incorrect padding错误

解决方法:python中base64串的长度为4的整数倍,因此长度不为4整数倍的base64串需要用"='补全def decrypt_fund_token(fund_token): num=len(fund_token)%4 if num!=0: fund_token=fund_token + '=' * (4-num) before_str =Base64.decode(fund_token)...

2020-12-02 15:01:53 1457

原创 C++ 汉字转首字母

// Test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include "pch.h"#include <iostream> #include <string> using namespace std;static char convert(wchar_t n);static bool In(wchar_t start, wchar_t end, wchar_t code);.

2020-11-12 20:58:17 1083

原创 C++ 链表划分

题目:已知链表头指针head和数值x。将值小于x的节点放在值大于等于x节点前,且保持这些节点原来的相对位置。思路:设置两个临时链表。一个临时链表连接值小于x的节点,一个临时链表存放值大于x的节点。 遍历完成后,将两个临时链表相连。并将值大于x的临时链表的尾结点指向空。//链表划分ListNode* partition(ListNode* head, int x){ ListNode less_head(0); ListNode more_head(0); ListNode *less

2020-10-30 00:34:35 244

原创 C++ 链表求环

方法一(set容器):(1)将链表中节点的指针插入set容器(2)在遍历插入节点时,在set容器中查找该节点是否存在。(3)第一个已存在的节点即为链表环的起点。//链表求环 方法一ListNode* detectCycle(ListNode* head){ std::set<ListNode*> node_set; while (head) { if (node_set.find(head) != node_set.end()) return head;

2020-10-29 01:16:55 445

原创 C++ 链表的交点

方法一:利用set容器struct ListNode{ int val; ListNode *next; ListNode(int x):val(x),next(NULL){}};ListNode* getInstersectionNode(ListNode *headA, ListNode *headB){ std::set<ListNode*> node_set; while (headA) { node_set.insert(headA); head

2020-10-27 00:36:19 224

原创 C++ 链表反转与链表区域反转

// test1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include "pch.h"#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <string>#include <vector>#include <vector>#include <stdio.h>#include <string.h>#include.

2020-10-20 14:00:31 227

原创 c++ bind函数

一、std::bind介绍 可将std::bind函数看作一个通用的函数适配器,它可接受一个可调用对象,生成一个新的可调用对象来适配原对象的参数列表。作用:(1)将可调用对象和其参数绑定成一个仿函数。(2)只绑定部分参数,减少可调用对象传入的参数。二、std::bind绑定一个成员函数 int add(int x,int y){return x+y;}auto fn_add=std::bind(add,_1,2);std::cout<<fn_add(3)<<s

2020-09-19 15:14:31 2076

原创 warning: ISO C++ forbids converting a string constant to ‘char*‘ [-Wwrite-strings]

在linux下编写C++代码:char* p="wqojbk";会跳出警告:warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]这是因为在赋值操作的时候,等号两边的变量类型不一样,那么编译器会进行一种叫做 隐式转换(implicit conversion) 的操作来使得变量可以被赋值。上面的表达式中,等号右边的"eqojbk"是一个不变常量,在c++中叫做string lite

2020-09-19 10:30:02 20387

原创 C++ string 字符分割

#include <vector>#include <stdio.h>#include <string.h>#include <string>using namespace std;int main(){ string params="10.00,1.00,1"; char parm[20]; strcpy(parm,params.c_str()); const char *sep=","; char *p=strt.

2020-09-07 23:36:10 717

原创 mysql 获取一个表的总行数,并对一个字段进行赋值。

update Test set A=(select count(*) from Test2)where ID=1;上面实现的功能为:将表Test2的总行数赋值给Test表中ID=1的A字段。

2020-09-06 20:31:15 698

原创 Linux下出现undefined reference to ‘pthread_create’问题

问题的原因:pthread不是linux下的默认的库,也就是在链接的时候,无法找到phread库中函数的入口地址,于是链接会失败。解决方法:在gcc编译的时候,附加要加-lpthread参数即可解决。正确命令:gcc test.cpp -o test -lpthread...

2020-09-05 18:25:28 351

原创 mysql 插入中文错误

编码格式问题:需要将latin1改为utf8show create database databasename;//显示数据库的格式show create table tablename;//显示表的编码格式show FULL COLUMNS FROM tablename;//显示字段的编码格式alter table TEXT convert to CHARACTER set uft8;//更改表的编码格式...

2020-09-03 09:36:10 187

原创 error:‘>>‘ should be ‘> >‘ within a nested template argument list

编译时出现:error: '>>'should be '> >'within a nested template argument list错误。错误原因:使用C++11之前标准的编译器会将">>“视为移位符号。解决方法:在'>>'中间加一个空格变成'> >'即可。...

2020-08-27 09:43:40 4472

原创 数组中的数拼接成最小数(c++)

class Solution {public: static bool cmp(int a,int b){ string Aa=to_string(a); string Bb=to_string(b); string A=Aa+Bb; string B=Bb+Aa; return A<B; } string PrintMinNumber(vector<int> numbers) {.

2020-08-26 23:30:17 550

原创 mysql相关操作命令

mysql -h 地址 -u 用户名 -p //进入mysqlcreate database name; show databases; //创建数据库并查看use databasename; //选择数据库drop database name //直接删除数据库,不提醒create table 表名(属性名,类型);//建立表格show tables; //显示表describe tablename;//显示表结构信息select * from tablename;//显示表中内容alt.

2020-08-26 13:54:10 106

原创 C++复杂链表的复制

输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)/*struct RandomListNode { int label; struct RandomListNode *next, *random; RandomListNode(int x) : label(x),

2020-08-12 23:45:40 647

原创 同步与异步以及阻塞与非阻塞的区别

1.同步与异步同步与异步的关注点是消息通信机制。同步:在发出一个调用之时,没有得到结果之前,该调用就不返回。一旦调用返回就是得到了返回值。 也就是调用者主动等待这个调用的结果。异步:在发出调用之后,这个调用就直接返回,所以没有返回结果。 也就是一个异步过程调用之后,调用者不会立刻得到结果,而是在调用发出之后,被调用者 通过状态来通知调用者,或者通过回调函数来处理这个调用。举一个通俗例子: 你打电话问书店老...

2020-07-14 19:41:32 368

原创 windows连接linux服务器mysql(1045错误)

问题描述:windows上使用Navicat Premium连接linux服务器mysql出现1045错误。重置密码之后(可以搜索相关步骤修改mysql密码),还是同样的错误。搜索网上的解决方法之后发现是用户权限的问题。进入服务器mysql之后,使用select host,user from user;查看用户权限。发现root用户只能本地登陆(localhost),如果想用root用户远程登陆,需要使用下面命令:mysql> update user set ho.

2020-07-13 17:00:57 440

原创 使用nlohmann库实现json数据转为protobuf数据

使用nlohmann库实现Json数据转为protobuf数据。核心代码如下,代码细节咨询可以留言:int json2pb(const std::string& json,Message* msg){ Json j=Json::parse(json); int ret=parse_json(j,msg); //解析json std::cout<<"msg信息:"<<msg-DebugString(); return ret;}s

2020-07-06 10:38:48 642

原创 使用nlohmann库实现protobuf数据转为Json数据

使用nlohmann库实现protobuf数据转为Json数据。核心代码如下,代码细节咨询可以留言:Json pb2json(const Message *msg) //pb数据转json{ Json json=parse_msg(msg); //解析pb数据 return json; //返回json对象}Json parse_msg(const Message *msg) //解析pb数据{ cosnt Descriptor *d=msg->G

2020-07-02 17:05:34 818

原创 protobuf 相关知识 C++

protobuf是一种序列化方法.1. message字段包括以下几种情况(1)singular:包涵该字段一次或则零次(2)repeated:可以重复任意多次2.可以在.proto文件中定义多种message类型。但是当单个文件定义大量不同依赖关系的messages时,会导致依赖性膨胀。建议每个.proto文件包含尽可能少的message类型。3.对于C++,编译器从每个.proto生成一个.h和.cc文件,其中包含文件中描述的每种message类型对应的类。4.保留值:如果.

2020-06-28 18:56:36 927

原创 shell脚本空行造成“command not found”错误

原因:window下的换行是回车符+换行符,也就是\r\n,而unix下是换行符\n。解决方法:(1)notepad:将右下角Dos\windows->Uuix(2)vscode:将右下角LF->CRLF。(3)查看该文件 vim start.sh 不是编辑模式直接输入:set ff 查看弹出的界面 fileformat=dos 说明文本格式不对 直接set ff = unix...

2020-06-19 11:36:31 1238

原创 C++ 右值引用与左值引用

意义:可以避免无谓的复制,提高程序的性能。左值:表达式结束后依然存在的持久化对象右值:表达式结束后不再存在的临时对象所有的具名变量和对象都是左值,而右值不具名。区分左值和右值的快捷方法:看能不能对表达式取地址,如果能则是左值,否则就是右值。右值分为纯右值和将亡值。纯右值是C++98中的右值概念,如非引用函数返回的临时变量;一些运算表达式,如4+6产生的临时变量;不和对象关联的字面量值,如10,‘s’,true,“hello”等这些不能被取地址的值。将亡值:c++11中新增的和右值引

2020-06-18 15:25:46 720

原创 C++ Lambda表达式详解

Lambda表达式概述:用于创建匿名的函数对象,用于简化编程工作。语法形式如下:[函数对象参数] (操作符重载函数参数)mutable或exception声明 ->返回类型{函数体}1.函数对象参数 标示一个Lambda表达式的开始,必须存在,不能省略。函数参数对象只能使用那些定义Lambda为止时Lambda所在作用范围内可见的局部变量(包含Lambda所在类的this) (1)[]:没有任何函数参数对象 (2)[=]:以值传递方式捕获Lambda所在范围内的所有局...

2020-06-17 20:07:41 5781

原创 HTTP协议基础知识

(1)HTTP协议概念:(Hyper Text Transfer Protocol)超文本传输协议,用于万维网服务器传输超文本到本地浏览器的传送协议。(2)HTTP协议通过TCP/IP通信来传输数据。(3)HTTP协议工作于客户端-服务端架构上,浏览器作为http客户端通过URL向http服务端(WEB服务器)发送请求。 web服务器根据收到的请求,发送响应信息。(4)HTTP使用统一资源标识符(Uniform Resource Identifiers,URI)来传输数据和建立连接。(5...

2020-06-16 11:37:03 435

proc文件系统介绍,内核态与用户态交互过程

proc文件系统介绍,内核态与用户态交互过程

2022-06-29

20220302 linux相关知识文档

20220302 linux相关知识文档

2022-03-02

资料汇总20211204

资料汇总20211204

2021-12-04

相关文档说明00000

工作内容相关

2021-06-01

工作相关文档 00000

相关文档相关内容总结

2021-02-24

升级打怪小游戏代码

升级打怪小游戏C++代码。

2019-03-04

pcd格式三维点云

用于三维重建的点云数据,包含多个模型,适合测试使用。

2018-05-08

ply格式三维点云

用于三维重建方面的三维点云文件 ply格式 包含多个模型

2018-05-08

计算理论导引 第二版答案

计算理论导引 第二版课后答案

2018-05-04

windows 64位 mfc42d.dll

1、解压下载的文件  2、复制文件“ mfc42d.dll”到系统目录下  32位系统目录为:C:\WINNT\System32; 64位系统为C:\Windows\SysWOW64

2018-04-16

windows 64位 mfco42d.dll

1、解压下载的文件  2、复制文件“ mfco42d.dll”到系统目录下  32位系统目录为:C:\WINNT\System32; 64位系统为C:\Windows\SysWOW64

2018-04-16

windows 64位 msvcrtd.dll

 1、解压下载的文件  2、复制文件“msvcrtd.dll”到系统目录下  32位系统目录为:C:\WINNT\System32; 64位系统为C:\Windows\SysWOW64

2018-04-16

三维点云数据

在逆向工程中通过测量仪器得到的产品外观表面的点数据集合也称之为点云,通常使用三维坐标测量机所得到的点数量比较少,点与点的间距也比较大,叫稀疏点云;而使用三维激光扫描仪或照相式扫描仪得到的点云,点数量比较大并且比较密集,叫密集点云。

2018-03-22

opencv3 图片外接矩形框

包括opencv读入图片,显示图片灰度图,二值图和图片的外接矩形框。还能通过滑动条改变阈值从而改变二值图。

2017-07-13

基于Android的考试系统

基于Android的考试系统,有用户登录注册功能,用户考试功能。数据库用的是sqlite数据库,在Myeclipse中可以成功运行。系统的功能包括:用户做题,查看错题,查看得分。

2017-06-03

酒店管理系统课程设计文档

通过对酒店管理人员和设备生产商的调查要求系统实现如下功能: 1.由多名管理员共同管理系统。 2.管理员可以添加新的管理员成员信息 3.管理员可以查询所有房间信息 4管理员可以增添新的顾客信息 5.顾客可以预定酒店的房间

2017-04-11

酒店管理系统

通过对酒店管理人员和设备生产商的调查要求系统实现如下功能: 1.由多名管理员共同管理系统。 2.管理员可以添加新的管理员成员信息 3.管理员可以查询所有房间信息 4管理员可以增添新的顾客信息 5.顾客可以预定酒店的房间

2017-04-11

asp.net实验

asp.net学习实验

2016-09-06

人力资源管理系统

本系统实现了企业人力资源管理比较完善的功能。包括企业组织结构管理; 企业职员、职位及调动等管理; 培训、招聘等信息发布与管理; 员工奖惩信息管理,支持绩效考核; 员工薪资管理; 员工信息和薪资等报表; 系统用户及权限管理。界面简洁美观

2016-07-01

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

TA关注的人

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