自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CQ的学习笔记

编程学习笔记

  • 博客(99)
  • 资源 (1)
  • 收藏
  • 关注

原创 318自驾交流

推荐一家巴塘的民宿,叫孔雄温泉民宿,前台和招待都是当地藏民老奶奶,带wifi,空调,房间干净,是藏民自建的小楼,房间是藏风全实木装修,空间大,还自带温泉,可以带泳衣去泡,不另收费,老奶奶还会免费给你酥油茶,当地干果吃,早上会给你做早饭,一晚上只要一百出头,真正良心。1.国道上虽然不时有落脚点,但是不是每个落脚点都有厕所,有的厕所会被当地锁住,而且大部分是旱厕,很臭,所以国道上如果想上厕所,可以不用害羞,只要有空地就可以停车,走两步到路边解决才是正道(无论大小),毕竟就算你不上厕所,那边也全是牛粪。

2024-06-18 14:39:25 593

原创 2024.4.5学习记录————嵌入式学习内容

上位机通过网口/串口,供工程人员使用软件UI界面控制硬件,上位机与设备通信的协议和数据包设计。基础特性:类,对象,派生,继承,运算符重载,友元,虚函数,多态,模板,STL。嵌入式设备轻量级Linux系统,内核空间小,原生接口有差异,交叉编译工具链。指针,位操作,结构体字节对齐,位段,宏的高级运用。面向对象的构建能力:嵌入式系统构建适合的类和接口。mysql:安装,部署,访问,设计,增删改查。芯片接口驱动开发等,位于嵌入式应用下位。linux内核向嵌入式设备移植。经典硬件通信协议 MODBUS。

2024-04-05 10:35:30 226

原创 2024.3.31学习记录————树莓派4B学习一:环境配置

教程需要去官网自己选择下载的镜像版本,但是现在可以使用树莓派自己的image flash工具,工具中可以直接选择需要下载的镜像版本以及位数,并且可以定制化用户名和密码,默认打开ssh,以及系统默认连接的wifi名称和密码,比起教程里使用根目录下创建config文件才能打开SSH和wifi要方便了很多,烧写完后sd卡插入板子连接电源上电,红绿灯闪烁后变为绿灯规律闪烁就是正常开机了。硬件方面一开始只需要一块树莓派4B的板子和充电线,以及一张用来当作内存的sd卡和读卡器就行。

2024-04-05 10:08:16 310

原创 2020.9.8C++Primer学习笔记————模板函数

C++Primer学习笔记————模板函数看C++Primer看到了第十章函数模板部分,其中提到了模板函数用法,帮助强类型语言减少简单方法的代码量。C++是强类型语言,在调用方法时需要对传参有严格的判断,例如实现一个简单的大小判断方法时:int min( int a, int b ) { return a < b ? a : b; } double min( double a, double b ) { return a < b ? a : b; }想要对比不同类型的参数

2024-03-19 22:26:48 738 1

原创 2023.5.9工作问题记录————安卓GKI检测abi-check

安卓系统GKI abi-check

2024-03-13 11:27:36 920 1

原创 2021.7.9工作问题记录————Mysql设置简单密码

工作问题记录————Mysql设置简单密码使用默认密码登录mysqlgrep “password” /var/log/mysqld.log2018-06-15T07:12:17.112615Z 1 [Note] A temporary password is generated for root@localhost: *m#e/-Bfz5T+修改mysql参数配置mysql> set global validate_password_policy=0;set global validate

2021-07-09 10:32:18 297

原创 2021.5.13C++学习笔记————函数指针形式调用动态链接库接口

C++学习笔记————函数指针形式调用动态链接库接口事情起因是需要给一个动态库中的某些接口进行第二层封装,但是要保证其他接口完全不变(包括方法名),一开始以为就是再封装一层动态库(就是菜),实际编写时发现一个问题,就是其他接口要保证完全不变,那封装的第二层库里的方法名就要跟原动态库的方法名一样,那就不能用平时直接在 VS 里用 lib 形式链接器直接使用动态库了,因为会有函数方法名称冲突。函数指针形式调用动态链接库接口:不过后面想到之前用别人链接动态库的代码,在 LoadLibrary 之后,会用函数

2021-05-13 14:14:49 632

原创 2021.5.11C++学习笔记————常量折叠

C++学习笔记————常量折叠之前在学习C++类型转换的内容时,涉及到了 const 关键字,在写代码测试时发现一个现象:const int i = 1;int *j = (int *)&i;*j = 2;cout << &i << endl;cout << j << endl;cout << i << endl;cout << *j << endl;...

2021-05-12 14:22:37 246

原创 2020.5.8工作问题记录————C++结构体内数据错位

工作问题记录————C++结构体内数据错位最近工作中遇到一个问题,在做甲方的代理服务时,要传送一组数据,用结构体格式,在处理数据时,结构体数据正确,但是传出数据处理函数时,数据出现了错误。首先,结构体的内容很多,类似如下:struct My_msg{ int socketid; char cmd[5]; char termid[21]; char appid[11]; char site1[51];

2021-05-09 11:24:06 2683

原创 2021.4.19C++学习笔记————类型转换Casting Operator

C++学习笔记————类型转换Casting OperatorC++可用Casting Operator手动指定变量类型的转换,使得编译和运行时类型转换更加安全,对变量类型的转换可读性更高。转换分为四种:const_cast< type >( expression )reinterpret_cast< type >( expression )static_cast< type >( expression )dynamic_cast< type >

2021-05-08 15:02:13 270 1

原创 2021.4.18C++学习笔记————隐式转换

C++学习笔记————复制与转换1.隐式转换:C++中隐式转换包括:标准转换:窄型=>宽型:int => double,char => int数值计算:整数=>float,double同类型 signed 和 unsigned 转换(bit转换)浮点型=>整数型:可能会出现精度丢失和未知错误(转换后超出整数范围)非基本类型转换:bool型:true => 1,false => 00 => 任意指针 => void *子类 * =&gt

2021-04-19 19:27:33 185

原创 2021.4.14C++学习笔记————C++11/14新特性

C++学习笔记————C++11/14新特性1.声明类型自动推导:autoC++是强类型静态语言,除了模板,变量在编译时的类型就会被确定且不可更改。auto是一个数据类型,用于在声明时对被声明变量进行自动的强类型推导,如:auto i = 10; //自动推导int型...

2021-04-16 16:04:19 254

原创 2021.4.8C++学习笔记————重复进程检测

C++学习笔记————重复进程检测在服务器启动服务端时,服务端的ip和端口是给定的,所以要防止重复启动服务进程后互相阻塞ip的情况,在服务进程执行前需要进行重复进程检测,查看当前进程是否已经在运行。代码:int ProcessIfExist(char *pname){ char cmd[512]; char aline[256]; FILE *tmpfp; int iPExistFlag=0; char tpname[256]; char pid[10]; char sfilename

2021-04-08 09:42:17 386

原创 2021.4.7工作问题记录————awk: ^ backslash not last character on line

工作问题记录————awk: ^ backslash not last character on line在测试服务器时在终端查找服务端的进程号,使用指令:ps -ef|grep -v grep|grep "bash"| awk '{printf(\"%d|%s\\n\",$2,$8)}'显示错误:解决:该指令是从服务端检测进程重复代码中截取的,在终端直接运行时不需要转义符。指令:ps -ef|grep -v grep|grep "bash"| awk '{printf("%d|%s\n"

2021-04-07 09:56:42 2740

原创 2021.3.30C++学习笔记————条件变量实现定时任务

C++学习笔记————条件变量实现定时任务近期部署的服务需要添加每隔十分钟轮询一次的功能,即定时任务,使用条件变量实现定时。#include <stdio.h>#include <stdlib.h>#include <stdarg.h>#include <string.h>#include <time.h>#include <iostream>#include <map>#include <set&g

2021-03-30 09:30:18 362

原创 2021.3.29C++学习笔记————watchdog守护进程自动重启

C++学习笔记————watchdog守护进程自动重启最近写完一个服务端后,希望能在启动后如果程序异常退出了能够自动重启。经过查询,自己手动实现看门狗进程自动重启一般有两个方法:一.脚本重启:#!/bin/shwhile truedops -ef | grep "test(程序名)" | grep -v "grep"if ["$?" -eq 0]then./testecho "wath process has been restarted! "elseecho "watch

2021-03-30 09:08:43 1702 1

原创 2021.3.25C++学习笔记————守护进程

C++学习笔记————守护进程工作中要在Linux下部署一个代理服务,需要使其在后台运行并且防止僵尸进程,因此需要守护进程Daemon。守护进程详细流程:https://blog.csdn.net/lianghe_work/article/details/47659889Daemon代码:#include <unistd.h> #include <signal.h> #include <fcntl.h> #include <sys/sysl

2021-03-25 10:35:21 265

原创 2021.2.19C++学习笔记————简单MFC应用窗口程序编译实例

C++学习笔记————简单MFC应用窗口程序编译实例工作需要,编写一个窗口界面的小程序,为了偷懒不下Qt选择使用VS2015写MFC窗口应用。1.创建项目:使用VS2015创建MFC应用程序,选择“基于对话框”:在“使用MFC”那一项建议把“在共享DLL中使用MFC”改为静态的那个选项,这样可以让应用程序对环境依赖变低。(比如要复制到没有mfc库环境的电脑用)等待一会加载完成,项目创建成功,顺便把要用的第三方库,头文件什么的加进项目,准备工作完成。2.设计窗口界面:一般窗口资源界面在项目创

2021-02-20 14:28:12 2827

原创 2021.2.19C++学习笔记————Windows下dll动态库编译及调用

C++学习笔记————Windows下dll动态库编译及调用一. 编译:首先,选择Win32项目,设置项目名及地址:选择DLL,空项目:编写动态库:头文件:#pragma once;#include<iostream>#ifdef DLL_IMPLEMENT#define DLL_API _declspec(dllexport)#else#define DLL_API _declspec(dllimport)#endifextern "C" DLL_API str

2021-02-19 14:59:37 352

原创 2021.1.6C++学习笔记————C读取文件写入字符串

C++学习笔记————C读取文件写入字符串#include "stdio.h"#include "stdlib.h" int main( void ){ FILE *fp; fp = fopen("/home/tqk/tqk1/123.txt" , "r"); /*指针位置移动到文件末尾*/ fseek( fp , 0 , SEEK_END ); int file_size; /*读取文件大小*/ file_size = ftell( fp

2021-01-06 09:51:54 176

原创 2020.12.8Linux学习笔记————进程 fork() 和 pid

Linux学习笔记————进程 fork() 和 pidfork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值:1)在父进程中,fork返回新创建子进程的进程ID;2)在子进程中,fork返回0;3)如果出现错误,fork返回一个负值;创建新进程成功后,系统中出现两个基本完全相同的进程,这两个进程执行没有固定的先后顺序,哪个进程先执行要看系统的进程调度策略。此时,两个进程都从fork开始往下执行,只是pid不同。有人可能疑惑为什么不是从#include处开始复制

2020-12-08 14:02:00 280

原创 2020.11.11Java学习笔记————读取配置文件信息

Java学习笔记————读取配置文件信息创建资源文件Test.properties:ip=120.4.2.1port=8013读取properties资源文件:public class Test{ private String ip; private int port; //初始化 public Test(String proFile) { try { Properties prop = new Properties();

2020-11-11 14:02:44 248

原创 2020.11.8工作问题记录————Centos6安装glibc2.14

工作问题记录————Centos6安装glibc2.14通过 rmp 来安装别人已经编译好的模块。链接: 网盘下载地址 提取码: sbui解压后进入该文件夹目录,输入如下安装命令:rpm -Uvh glibc-2.14.1-6.x86_64.rpm glibc-common-2.14.1-6.x86_64.rpm glibc-headers-2.14.1-6.x86_64.rpm glibc-devel-2.14.1-6.x86_64.rpm nscd-2.14.1-6.x86_64.rpm安装

2020-11-08 17:20:21 311

原创 2020.11.6Java学习笔记————十六进制字符和数组转换

Java学习笔记————十六进制字符和数组转换public class HexConvert { /** * 用于建立十六进制字符的输出的小写字符数组 */ private static final char[] DIGITS_LOWER = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; /

2020-11-06 14:03:50 588

原创 2020.11.6Java学习笔记————base64字符串转换

Java学习笔记————base64字符串转换public class Base64 { private static final char[] base64EncodeChars = new char[] { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a'

2020-11-06 13:41:22 2465

原创 2020.11.6Java学习笔记————int型与byte型相互转换和byte串拼接

Java学习笔记————int型与byte型相互转换和byte串拼接public class TypeConvert { /** * int到byte[] 由高位到低位 * @param i 需要转换为byte数组的整行值。 * @return byte数组 */ public static byte[] intToByteArray(int i) { byte[] result = new byte[4]; res

2020-11-06 10:44:34 896

原创 2020.11.2Java学习笔记———普通及二进制读写文件

Java学习笔记———普通及二进制读写文件:读文件: /**传入txt路径读取txt文件 * @param txtPath * @return 返回读取到的内容 */ public static String readTxt(String txtPath) { File file = new File(txtPath); if(file.isFile() && file.exists()){

2020-11-02 09:12:16 279

转载 2020.10.14Java学习笔记————继承 (extends) 详解

Java学习笔记————继承 (extends) 详解java继承 (extends) 详解

2020-10-14 17:09:23 326

原创 2020.9.30工作问题记录————IDEA快速实现接口、查找接口的实现、getSet方法快速生成等等常用快捷键

若不是java第一开发利器IDEA的崛起,各位仁兄又怎会齐聚于此(这句话应该病没毛吧我觉得),我发现就算是迁移eclipse的快捷键进入idea,但是还是各种常用快捷键不灵(总是摸不着自己的乔治脑袋),下面就是我整理的一些奇葩但又非常常用的快捷键QAQIDEA查找接口的实现类: ctrl + alt +B (这快捷键。不想说啥。相当于eclipse:ctrl +T)IDEA快速实现接口: Alt + Shift + P (这个很常用了吧,基本上一实现接口就得用)Get/Set方法快捷键:Alt +

2020-09-30 10:11:07 429

原创 2020.9.30工作问题记录————gcc,g++编译器中文乱码解决

工作问题记录————gcc,g++编译器中文乱码解决在Centos虚拟机中,使用g++编译器编译C语言项目,编译结果出现中英文混合,且中文为乱码。中文乱码是在g++编译后的项目编译结果中出现,并非C语言项目输出中文乱码。GCC/G++乱码的解决方案在网上流传得最多的是:export LANG=C这个方法是可以解决GCC/G++乱码的问题,但是会导至系统中一些其他工具无法无法正常工作。最完美的解决方案是:locale命令来查看你的系统使用的字符集。比如我的SUSE11 ,默认为:en_US

2020-09-30 10:06:12 1037

原创 2020.9.30工作问题记录————Centos6安装jdk1.8

工作问题记录————Centos6安装jdk1.8首先从官网下载jdk1.8,地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载之后,上传到Linux中,我是使用CRT上传的,我上传到/usr/local目录。之后的步骤如下:1.进入到/usr/local目录下创建一个叫jdk的文件夹,使用mkdir jdk命令即可2.使用mv命令移动压缩包到jdk目录下,使用tar z

2020-09-30 09:49:43 344

原创 2020.9.30工作问题记录————Centos配置ip地址

工作问题记录————Centos配置ip地址查看ip信息:ifconfig修改ifcfg-eth0网卡文件vi /etc/sysconfig/network-scripts/ifcfg-eth0动态ip:重启网络service network restart静态ip:修改ifcfg-eth0网卡文件vi /etc/sysconfig/network-scripts/ifcfg-eth0修改:  BOOTPROTO=static -->IP方式  ONBOOT=y

2020-09-30 09:41:54 258

转载 2020.9.30工作问题记录————Centos7安装cmake

编译安装cmake下载cmake源码包cmake-2.8.4.tar.gz,mv到/usr/local/src目录下[root@localhost ~]# cd /usr/local/src/[root@localhost src]# tar xzvf cmake-2.8.7.tar.gz[root@localhost src]# cd cmake-2.8.7[root@localhost cmake-2.8.4]# ./bootstrapCMake 2.8.4, Copyright 200

2020-09-30 09:31:45 503

转载 2020.9.30工作问题记录————CentOS关闭防火墙

CentOS 7.0默认使用的是firewall作为防火墙查看防火墙状态firewall-cmd --state停止firewallsystemctl stop firewalld.service禁止firewall开机启动systemctl disable firewalld.service关闭selinux进入到/etc/selinux/config文件vi /etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled配制免

2020-09-30 09:26:03 251

转载 2020.9.30工作问题记录————MFC库中afxwin.h无法打开

环境:windows10+vs2017使用mfc开发wndows应用时需要引入头文件#include<afxwin.h>但是这样写之后提示 afxwin.h无法打开多半是安装vs时没有选择上一些配置,导致mfc的相关配置出现问题解决:打开vs 的installer程序->更多->修改然后下载安装,即可使用mfc构建一个窗口的过程:...

2020-09-30 09:02:13 1347

原创 2020.9.16工作问题记录————nginx+keepalived实现高可用

工作问题记录————nginx+keepalived实现高可用首先通过 nginx 实现了互备数据库的负载均衡,现在要将两个主机上的 nginx 服务实现高可用,通过 keepalived 将两个主机的 nginx 服务虚拟为同一个服务 ip 。1.安装 nginx 和 keepalived :CentOS6离线安装nginx和keepalived2.nginx 配置负载均衡:nginx配置数据库负载均衡3.编辑 keepalived 配置文件:cd /etc/keepalivedcp ke

2020-09-16 15:05:38 305

原创 2020.9.16工作问题记录————nginx配置数据库负载均衡

工作问题记录————nginx配置数据库负载均衡利用 nginx 的 ngx_stream_core_module 模块可以实现数据库的负载均衡。nginx 是默认是没有开启该模块的,要开启就需要安装 nginx 时 configuration 中添加 –with-stream 选项。CentOS6离线安装nginx和keepalived现有两个互备的mysql,地址分别为:192.168.0.215:3306192.168.0.216:3306将两个数据库服务做成负载均衡。1.编辑 ngin

2020-09-16 14:41:19 347

原创 2020.9.16工作问题记录————Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid“ failed

工作问题记录————Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid" failed在安装 nginx 后,使用重启服务指令/user/local/nginx/sbin/nginx -s reload出错,错误信息为:解决方法:##使用nginx -c的参数指定nginx.conf文件的位置/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf...

2020-09-16 14:30:00 556

原创 2020.9.16工作问题记录————mysql主从互备中IO_Running不同步

工作问题记录————mysql主从互备中IO_Running不同步一般的mysql互备服务中slave status的正常状态如下图:之前在主主互备的mysql中,其中一个mysql服务重启后显示 Slave_IO_Running 这一项为 No,互备同步无法生效。错误信息:[ERROR] Slave I/O for channel ‘’: The replication receiver thread cannot start because the master has GTID_MODE =

2020-09-16 14:25:21 714

原创 2020.9.16工作问题记录————Mysql5.7主主互备配置

工作问题记录————Mysql5.7主主互备配置虚拟机CentOS6中Mysql5.7配置主主互备,地址分别为:192.168.0.215:3306192.168.0.216:33061.安装mysql5.7:安装Mysql5.72.更改 mysql 配置文件:更改 my.conf 配置文件,加入主从设置信息:cp /etc/my.conf /etc/my.conf.bakvi /etc/my.conf##加入下面的配置信息##数据库1号配置信息:(奇数id)bind-addres

2020-09-16 14:17:54 315

树莓派C/C++ GPIO控制WiringPi库源码

树莓派WiringPi库

2024-04-06

ssmdemo.war

自己学习时用的简单SSM框架项目,详情在我自己的学习笔记:Java学习笔记————SSM框架(Spring+SpringMVC+MyBatis)初学带源码中,自用

2020-07-27

空空如也

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

TA关注的人

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