自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (10)
  • 收藏
  • 关注

原创 libev库的编译实操

libev

2025-04-11 11:26:50 178

原创 influxdb安装与基本操作(下篇)

influxdb

2025-04-11 11:25:03 390

原创 influxdb安装与基本操作(中篇)

时序数据库

2025-04-11 11:23:48 301

原创 influxdb的安装与基本操作(上篇)

influxdb基本操作大全

2025-04-11 11:22:18 440

原创 linux下mysql重置密码

# 重置密码 (第一步跳过mysql的密码认证过程)# vim /etc/my.cnf(注:windows下修改的是my.ini)# 在文档中搜索mysqld定位到[mysqld],在后面任意一行添加skip-grant-tables,如下:[mysqld]skip-grant-tables#保存并退出#重启mysql# systemctl restart mysqld# mysql -uroot#接下来开始修改密码#mysql修改密码报错解决办法?mysql> update

2020-08-05 10:20:23 177

原创 Linux常用命令大全

Linux常用命令大全最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考:系统信息arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本d...

2019-04-01 17:38:10 149

原创 C++内存管理(下篇)

1.2 C++中的健壮指针和资源管理我最喜欢的堆资源的定义是:“任何在你的程序中获得并在此后释放的东西”,内存是一个相当明显的例子。它需要new来获得,用delete来释放,同时也有许多其它的类型资源文件句柄、重要片段、Windows中的GDI资源等等。对于给定的资源的拥有者,是负责释放资源的一个对象或者是一段代码。所有权分为两种级别——自动的和显示的。如果一个对象的释放是由语言本身的机制...

2018-12-02 23:24:30 142

原创 C++内存管理(上篇)

1.1 C++内存管理详解1.1.1内存分配方式1.1.1.1 内存分配方式简介在C++中,内存分成5个区,分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配内存容量有限。堆,就是那些由new分配的内存块,他们的释放编译...

2018-12-02 23:24:02 196

原创 CentOS上安装java运行环境

CentOS上安装java运行环境 一、  使用yum方式在CentOS上安装Java环境1.         查看CentOS自带JDK是否已安装。◆输入:yum list installed |grep java。2.         若有自带安装的JDK,如何卸载CentOS系统自带Java环境?◆卸载JDK相关文件输入:yum -y remove java-

2017-11-24 15:55:05 1009

linux 设备树的操作与常识

内容概要:本文详细介绍了设备树(Device Tree)的概念及其在i.MX6ULL平台上的应用,包括设备树的基本结构、节点组织方式、属性定义和使用方法。设备树是一种描述硬件设备的数据结构,它通过DTS(Device Tree Source)文件定义,并在系统启动时被解析为DTB(Device Tree Blob)。文中解释了根节点、子节点、compatible属性、reg属性等关键元素的作用,以及如何通过设备树配置CPU、GPIO、I2C等外设。特别强调了pinctrl子系统的功能,即通过设置引脚复用和电气属性来配置外设引脚。此外,还介绍了设备树在内核启动过程中的角色,包括如何通过compatible属性匹配内核支持的设备,并通过chosen节点传递启动参数。 适合人群:具备一定嵌入式系统开发经验,尤其是对ARM架构和Linux内核有一定了解的研发人员。 使用场景及目标:①理解设备树的工作原理及其在嵌入式系统中的重要性;②掌握如何编写和修改设备树文件以适配特定硬件平台;③学习如何通过设备树配置外设,如GPIO、I2C等;④了解设备树在内核启动过程中的作用,确保正确加载和初始化硬件设备。 其他说明:设备树不仅简化了硬件抽象层的设计,还使得同一内核能够支持多种硬件平台。开发者可以通过查阅Linux内核源码中的绑定文档(位于`Documentation/devicetree/bindings`目录下)来获取更多关于特定设备的配置信息。此外,文中还提到了一些常用的调试工具和命令,如`devmem2`指令用于查看寄存器内容,以及通过`/sys/class/gpio`接口控制GPIO引脚。

2025-04-11

网络编程与开发 多线程服务器开发

内容概要:本文详细介绍了简易TCP服务端与客户端的构建及升级过程。首先讲解了基本的TCP通信流程,包括建立socket、绑定端口、监听、接受连接、收发数据和关闭socket等步骤。接着探讨了不同消息传输方式(纯字符串、结构化二进制数据)的特点和应用场景。然后重点讲述了服务端从单客户端阻塞模式逐步升级到支持多客户端的方式,包括select模型下的单线程多客户端处理、多进程多端口、多线程单端口以及多进程多线程的组合模式,分析了各自的优缺点。最后引入了生产者消费者模式,解释了其在多线程环境中处理并发连接时的作用,确保了数据处理的高效性和稳定性。 适合人群:有一定网络编程基础,希望深入了解TCP通信机制和多线程编程技术的开发者或学生。 使用场景及目标:①理解TCP通信的基本原理和步骤;②掌握多种消息传输方式及其适用场景;③学习并实践服务端从简单到复杂的多客户端处理方式;④掌握生产者消费者模式在多线程环境下的应用,提高并发处理能力。 阅读建议:本文内容较为深入,建议读者结合实际编程环境进行实验,特别是对于多线程和多进程部分,应尝试编写代码来加深理解。同时,关注不同模式下性能和稳定性的差异,思考如何在实际项目中选择合适的技术方案。

2025-04-11

libev的使用与学习笔记

内容概要:本文档主要记录了libev的安装步骤以及遇到的权限问题解决方案,还介绍了libev编译时的调试配置方法。文档首先详细描述了libev的安装命令流程(configure、make、make install),并针对make install过程中出现的“Permission denied”错误进行了分析,指出这是由于普通用户对/usr/local目录缺乏写入权限导致,并给出了解决方案——切换至具有相应权限的系统用户进行安装。此外,文档提及了在编译libev时可以通过指定CFLAGS=-g3参数来配置,以便更好地调试宏定义。最后,简要解释了C语言中逗号表达式的概念及其在宏定义中的应用,包括逗号表达式的求值规则和优先级等特性。; 适合人群:对libev库感兴趣或需要使用该库进行开发的技术人员,尤其是遇到安装问题或希望深入了解其内部机制的开发者。; 使用场景及目标:①帮助用户顺利完成libev库的安装,特别是解决安装过程中可能遇到的权限问题;②为开发者提供有效的调试手段,如通过设置特定编译参数展开宏定义,便于跟踪和理解libev源码;③介绍C语言中逗号表达式的使用场景和特点,加深对宏定义的理解。; 阅读建议:读者应重点关注安装过程中出现的具体错误信息及解决办法,同时对于C语言中较为复杂的逗号表达式,可以结合实际例子进行练习,以加深理解和记忆。

2025-04-11

通用Makefile及解释.pdf

通用Makefile说明

2021-07-14

autotools使用说明.rar

autotools使用说明文档、配套的hello源码操作指南。 linux 下c/c++使用autotools工具自动生成makefile 操作说明。 指令:autoscan、aclocal、autoheader、autoconf、automake 创建:makefile.am等

2020-08-17

linux下glog日志库(交叉) 编译并使用.rar

linux下c++使用glog日志库,包含日志库的编译、交叉编译版本 一、编译linux版本 1. cp glog-master.tar /opt/ 2. cd /opt/ 3. tar -xvf glog-master.tar 4. cd glog-master 5. mkdir build 6. ./configure --prefix=/opt/glog/glog-master/build/ 7. make 8. make install 二、编译arm版本 1. cp glog-master.tar /opt/ 2. cd /opt/ 3. tar -xvf glog-master.tar 4. cd glog-master 5. mkdir arm_build 6. ./configure --prefix=/opt/glog/glog-master/arm_build/ --host=arm-linux CC=${编译器绝对路径}/arm-linux-gcc CXX=${编译器绝对路径}/arm-linux-g++ 7. make 8. make install

2020-08-03

linux下读写INI配置文件库

开发linux程序经常要用到读写配置文件,前段时间开发需要,折腾了好一段时间。这里特做了总结。希望能帮到各位开发中的朋友。 1.linux下INI配置文件读写操作库 ======================================================================== if(false) SET(CMAKE_SYSTEM_NAME Linux) set(CMAKE_C_COMPILER "/home/swapp/arm/5.4.0/bin/arm-linux-gcc") set(CMAKE_CXX_COMPILER "/home/swapp/arm/5.4.0/bin/arm-linux-g++") else() SET(CMAKE_SYSTEM_NAME Linux) set(CMAKE_C_COMPILER "/usr/bin/gcc") set(CMAKE_CXX_COMPILER "/usr/bin/g++") endif() ======================================================================== 编译linux: 修改CMakeLists.txt里上面代码,使用/usr/bin/gcc编译 1. mkdir linux_build 2. cd linux_build 3. cmake .. 4. make 编译arm: 修改CMakeLists.txt里上面代码,使用arm-linux-gcc编译,这里选择您arm编译器的绝对路径 1. mkdir arm_build 2. cd arm_build 3. cmake .. 4. make

2020-08-03

openssl-1.1.1g编译、交叉编译方式.rar

linux下编译/交叉编译openssl-1.1.1g生成动态库和静态库方法: 一、编译linux版本 1. cp openssl-1.1.1g.tar.gz /opt/ 2. tar -zxvf openssl-1.1.1g.tar.gz 3. mkdir build 4. ./config --prefix=/opt/openssl-1.1.1g/linux_build 5. make 6. make install 二、编译arm版本 1. cp openssl-1.1.1g.tar.gz /opt/ 2. tar -zxvf openssl-1.1.1g.tar.gz 3. mkdir arm_build 4. ./config no-asm -shared --prefix=/opt/openssl-1.1.1g/arm_build/ CC=${绝对路径名}/arm-linux-gcc CXX=${绝对路径名}/arm-linux-g++ 5. make 6. 如果遇到 "-m64" 错误,vim进入Makefile,找到"-m64"并删除;重新执行make 7. make install 编译器版本说明: gcc (GCC) 8.3.1 20190507 (Red Hat 8.3.1-4) arm-linux-gcc (Buildroot 2016.11) 5.4.0 编译完的库存放位置: linux版本: linux_build目录下 arm版本: arm_build目录下

2020-08-03

linux下java调用c++库 rsa加解密.rar

包含两个文件:1.c++基于openssl实现的rsa加解密动态库 2.java调用该动态库实现加解密方法

2020-05-07

linux下C++实现插件功能

编码工具:Qt5.8 实现功能:linux下实现插件库实现(调用动态so库)

2018-12-11

实用的加密工具

实用的加密工具,支持Des, Mac, Aes, Rsa, Crt, Sm2, Sm3,Sm4等

2017-11-27

SQLiteSpy Windows打开数据库工具

Windows平台上方便快捷的打开数据库工具,mysql sqlite等

2017-11-24

Qt实现的时钟

Linux 下使用Qt c++实现的时钟代码,包含源码和可执行程序。

2017-11-24

空空如也

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

TA关注的人

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