自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术鱼的博客

一条在技术海洋中逐浪的鱼

  • 博客(68)
  • 资源 (2)
  • 收藏
  • 关注

原创 GDB 学习入门之GDB初识

gdb调试器使用

2022-05-12 17:56:08 588

转载 linux下svn命令使用大全

最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个linux下svn命令使用大全: 1、将文件checkout到本地目录  svn checkout path(path是服务器 上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件  svn add file 例...

2022-04-28 14:31:44 973

原创 Nginx-内存池

系列文章目录Nginx资源目录简介第一章 Nginx学习入门之内存池分析文章目录系列文章目录Ngxin内存池简介一、nginx内存池结构体?二、使用步骤1.Ngix 内存池原理内存作用范围总结Ngxin内存池简介Nginx的内存池是内存的管理的一个特色,内存池的使用提高了对于内存的使用效率。Nginx 对于内存池使用是依赖于每个连接的。内存池的核心作用是避免操作系统分配过程当中产生小碎片。提示:以下是本篇文章正文内容,下面案例可供参考一、nginx内存池结构体?nginx内存池涉及文件

2022-03-18 00:03:05 2969

原创 Cmake环境搭建

cmake代码构建管理环境搭建

2022-03-09 22:17:33 2533

原创 数据库学习-Mysql数据库安装

数据库研究该系列文章主要是用来学习研究数据库相关知识,并根据学习知识做记录数据库环境搭建文章目录数据库研究前言一、环境搭建二、安装步骤1.卸载Mysql 安装残留1.1 首先用xshell远程连接到服务器1.2 如果服务器之前安装过mysql请先卸载,我这里是用yum安装的,现在通过yum去卸载2 安装Mysql2.1 下载安装包2.2 检查数据源2.3 禁用CentOs 自带的Mysql2.4 安装MySql2.5启动Mysql2.6 修改mysql 密码2.7 登录2.8 修改原始密码2.9

2022-01-13 00:45:13 704

原创 POSIX线程私有空间

背景进程中的所有线程终究是同在一个地址空间,所以其他线程终究可能使用一些底层技术来达到访问其他线程中的数据,线程私有数据也不例外。但是通过底层实现线程私有数据机制,然后用函数封装起来,屏蔽底层细节,能给上层应用层提供线程私有数据机制,给应用提供方便,提高线程间数据独立性。提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、线程私有数据二、函数接口1.创建一个TSD2.注销一个TSD3.数据处理例子参考前言在多线程环境下,由于数据空间是共享的,因此全局变量也为所.

2021-12-24 01:00:51 434

原创 操作系统-CPU粘合

CPU性能优化cpu粘合可以提高CPU效率文章目录CPU性能优化前言一、CPU绑定原理1.1CPU核心1.1.1 linux 下CPU信息查看CPU 绑定CPU绑定特点二、调试工具2.1 taskset绑定进程例子2.2cset绑定进程三、常用接口3.1 设置掩码接口3.2 进程级别粘合3.3 线程级别粘合粘合例子四、孤立CPU41、孤立CPU简介4.2、孤立CPU的特点4.3、孤立CPU设置参考前言提示:这里可以添加本文要记录的大概内容:CPU孤立或者将进程/线程与cpu绑定,最直观的好

2021-12-23 23:36:02 1625

原创 POSIX互斥锁自旋锁

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-12-22 00:49:34 407

原创 操作系统-线程同步

条件变量条件变量是 GNU/Linux 提供的第三种同步工具(第一互斥体第二这信号量);利用它你可以在多线程环境下实现更复杂的条件控制。目录条件变量前言二、条件变量主要函数主要应用函数1.创建函数2.销毁条件变量3.条件变量等待4.条件变量超时等待5.单线程唤醒6.广播唤醒例子前言引入条件变量的目的:在使用互斥锁的基础上引入条件变量可以使程序的效率更高,因为条件变量的引入明显减少了线程取竞争互斥锁的次数。执行pthread_cond_wait或pthread_cond_timedwai

2021-12-09 16:46:52 868

原创 POSIX线程基本操作

操作系统线程部分提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加线程基本提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档线程基本目录操作系统线程部分前言一、线程是什么?二、常用接口1.线程创建函数2.线程分离函数3.线程退出状态3.获取线程id函数4.线程退出函数5.线程杀死函数线程比较函数线程错误函数编译总结例子回收子线程的返回值的参考前言:线程之前应该先了解进程。进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和

2021-12-08 18:44:09 1071

原创 柔性数组理解

目录柔性概念定义特点性能参考柔性概念零长度数组(Arrays of Length Zero)也叫做可变数组/柔性数组。 在c99中,对于结构体中的最后一个成员,可以允许最后一个成员是未知大小的数组,这样的数组就叫做柔性数组。定义struct udppkt { struct ethhdr et; struct iphdr ip; struct udphdr udp; unsigned char data[0];//定义零长数组或柔性数组,1.不需

2021-12-08 00:12:40 267

原创 进程通信——共享内存

共享内存背景原理共享内存接口创建接口映射接口取消内存映射删除文件重置文件大小编译例子背景在linux系统开发当中,存在多种方案可以实现进程之间的通信。但最高效的方法莫过于共享内存。但是共享内存传输的数据尽量不要太大。原理linux操作系统共享内存是借助tmpfs这个文件系统来实现的,tmpfs文件系的目录为/dev/shm,/dev/shm是驻留在内存 RAM 当中的,因此读写速度与读写内存速度一样,/dev/shm的容量默认尺寸为系统内存大小的一半大小,使用df -h命令可以看到。但实际上它并不会

2021-12-03 21:36:22 447

原创 Posix API与网络协议栈实现原理

文章目录网络协议栈Posix API 接口API接口1.socket(),插座,产生listenfd 和tcb(tcp create block)tcp控制块。fd 使用户层,tcp是内核层。socket 实现fd 和tcp 关联。五元组是tcp 的唯一标识。2.bind() ,接受或者发送数据,用来填充本机的ip和端口。3.connect(),填充远端ip和端口。网络协议栈网络协议栈分为7层和四层。Posix API 接口常用的API接口,socket,bind,listen.accept,s

2021-11-18 23:05:04 1262

原创 分布式管理工具git

文章目录git 基本概念git 基本功能git 配置环境安装windows 环境搭建安装遇到的问题git 基本概念git 基本功能git 配置环境git 配置环境需要的软件git: https://git-scm.com/download安装傻瓜式安装,软件下载一路next 就可以windows 环境搭建查看配置信息 git config list设置user.name和user.email配置信息git config --global user.name "你的GitHub用户名"

2021-10-29 00:15:39 1070

原创 红黑树总结

文章目录红黑树概念红黑树使用场景内存管理进程调度CFS中红黑树概念红黑树使用场景红黑树的使用场景就是利用了红黑树的特点。红黑树重查找,利用key就可以快速的查找红黑树中序遍历是有序的特征内存管理内存表示有两种,1> 首地址+长度;2>首地址+尾地址内存管理中 使用1> 表示内存。使用红黑树的key 指向每一块内存的首地址,value 存储内存长度。 分配一块内存就在红黑树中添加一个节点。释放一块内存就在红黑树中删除一个节点。进程调度CFS中进程调度过程当中进程的集合

2021-10-22 01:10:48 778

原创 数据结构 B树

文章目录多叉树存在优点和应用多叉树和B树特点B -tree 和B+treeB-tree 定义程序开发技巧代码开发时多叉树存在优点和应用多叉树能够在存储数据时候,降低层高。多叉树的使用,使节点的数量变少,查找的节点数目变少。多叉树和B树特点多叉树没有约束平衡没有约束每个节点子树的数量B树 Key数据是有规律的B -tree 和B+treeB+tree 特点,所有的节点在叶子节点上都有,叶子节点存储key值,内部节点不存储数据;所有的数据存储到叶子节点;所有叶子节点通过前后指针链接起来

2021-10-15 00:42:10 117

原创 网络编程之字节序

字节序计算机数据表示存在两种字节顺序:网络字节顺序NBO(Network Byte Order)与主机字节顺序HBO(Host Byte Order)或者是大端模式和小端模式网络字节序(大端模式)网络字节顺序NBO: 按从高到低的顺序存储,在网络上使用统一的网络字节顺序,可以避免兼容性问题。主机字节序(小端模式)主机字节顺序HBO: 不同的机器HBO不相同,与CPU设计有关,数据的顺序是由cpu决定的,而与操作系统无关。(大端和小端模式与cpu设计有关而和操作系统无关)特征a) Little-

2021-07-15 23:02:15 494 1

原创 C语言-代码开发

#if 、#ifdef、 #if defined()#if的使用说明#if x...code...#else...code...#endif#if的后面接的是表达式#if (MAX10)||(MAX20) code… #endif它的作用是:如果(MAX10)||(MAX20)成立,那么编译器就会把其中的#if 与 #endif之间的代码编译进去(注意:是编译进去,不是执行!!)#if defined()的使用#if后面接的是一个宏。#if defined (x) ...code

2021-07-14 23:26:24 225 3

原创 C语言-指针系列

指针常见错误使用案例指针的传递常见错误(1)使用一级指针 1 #include <stdio.h> 2 #include <string.h> 3 #include <malloc.h> 4 5 /**错误实例*/ 6 7 void test(char *p) 8 { 9 p = (char *)calloc(1,200*sizeof(char)); 10 if( p == NULL) 11 {

2021-07-14 22:57:55 119

原创 网络编程-UDP

一、基本概念二、理论图UDP-1 udp 客户端和服务端通信流程三、常用函数UDP常用函数发送接受函数#include <sys/cocket.h>/***@brif UDP接受数据包函数*@param [in *@param [in*@param [in*@param [in*@param [in */ssize_t recvfrom (int sockfd, void * buff, size_t nbytes, int flags, struct so

2020-12-29 07:07:02 208

原创 系统-安装centos6

安装centos6centos6 地址https://vault.centos.org/6.1/isos/x86_64/CentOS-6.1-x86_64-bin-DVD1.iso由于版本较老,yum 无法使用。更新yum 源更新阿里源yum就是根据CentOS-Base.repo中的几个baseurl,从这里的目录下载的。例如我们想要更换成阿里的镜像源,可以进入/etc/yum.repos.d,先给原本的CentOS-Base.repo做个备份mv CentOS-Base.re.

2020-12-04 11:44:33 202

原创 操作系统-32位与64为系统区别

2020-11-25 20:35:04 149

原创 shell-3笔记

脚本启动 sh *.sh ./*.sh /. *.sh source *.sh环境变量查看env/declare/set/export -p 查看系统环境变量。shell 环境变量,全局变量,范围:可以在创建他们的shell及其派生出来的任意子进程shell中使用。环境变量分为自定义环境变量和系统BASH内置环境变量。shell 普通变量,局部变量。范围:一般有开发用户开发程序的时候创建的。...

2020-11-20 13:49:50 94

原创 脚本shell-2

特殊字符特殊字符 含义 # 注释

2020-11-15 23:52:07 106

原创 linux配置-man

linux 基础配置 manlinux 最小系统默认是不带man功能。安装man 功能man功能是分卷的数字代表着卷名 1 用户命令, 可由任何人启动的。 2 系统调用, 即由内核提供的函数。 3 例程, 即库函数,比如标准C库libc。 4 设备, 即/dev目录下的特殊文件。 5 文件格式描述, 例如/etc/passwd。 6 游戏, 不用解释啦! 7 杂项, 例如宏命令包、惯例等。 8 系统管理员工具, 只

2020-11-12 09:51:11 162

原创 工具使用技巧-nopad++

nopad ++ 显示隐藏字符

2020-11-10 20:27:36 618

原创 Source insght4.0快捷键

Source insght4.0快捷键欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出...

2019-04-24 11:42:07 845

转载 linux串口编程 非规范模式 read()问题

在Linux下编写终端程序时,有规范模式 ,非规范模式(原始模式特殊的非规范模式)之分。不用于终端,而是在串口这种使用情况下,一般设置为原始模式(非规范的一种特殊情况)。但用read()函数,希望从串口接收指定的数量的字符时,往往接收到的实际字符数,都与指定的不同。如本人用read()希望接收 10 bytes的数据,但实验后发现,分了几次才接收到,俩次接收2bytes ,两次接收3bytes

2016-10-12 13:40:14 734

华为网络工具

网络开发相关的工具,wlan 划分工具;wlan测试工具;网络分析工具;网络搬迁工具;ensp网络仿真工具等的下载地址,和使用指南

2018-01-08

图解TCPIP协议

本书籍具有目录,书籍详细介绍了TCP IP协议相关的网络知识,

2018-01-08

空空如也

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

TA关注的人

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