自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

木子皿--啥都不会的菜鸟

努力学习,希望有朝一日能够从事后台服务器开发相关工作!

原创 出错处理函数

文章目录1 出错处理函数 1 出错处理函数 我们知道,系统函数调用不能保证每次都成功,必须进行出错处理,这样一方面可以保证程序逻辑正常,另一方面可以迅速得到故障信息。 出错处理函数: #include <errno.h> #include <string.h> char *...

2020-07-31 09:48:56 90 0

原创 connect函数介绍

文章目录1 connect函数介绍 1 connect函数介绍 #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int connect(int sockfd, const struct ...

2020-07-31 09:42:37 211 0

原创 accept函数介绍

文章目录1 accept函数介绍 1 accept函数介绍 #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int accept(int sockfd, struct sockaddr *ad...

2020-07-31 09:40:38 124 0

原创 listen函数介绍

文章目录1 listen函数介绍 1 listen函数介绍 #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int listen(int sockfd, int backlog); /* soc...

2020-07-31 09:37:14 61 0

原创 bind函数介绍

文章目录1 bind函数介绍 1 bind函数介绍 #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int bind(int sockfd, const struct sockaddr *addr...

2020-07-30 14:36:30 183 0

原创 socket函数介绍

文章目录1 socket函数介绍 1 socket函数介绍 #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int socket(int domain, int type, int protoco...

2020-07-30 14:31:46 96 0

原创 IP地址转换函数

文章目录1 IP地址转换函数 1 IP地址转换函数 先看一下IP地址在内存中是如何存储的: 转换函数如下: #include <arpa/inet.h> int inet_pton(int af, const char *src, void *dst); const char *...

2020-07-30 14:24:34 79 0

原创 通过文件IO控制硬件设备的方法

文章目录1 通过文件IO控制硬件设备的方法1.1 原理介绍1.2 LED灯程序 1 通过文件IO控制硬件设备的方法 1.1 原理介绍 驱动程序: 本质:是硬件设备创建相应的设备节点文件。创建设备文件时,规定好设备文件的使用方式。 应用程序: 根据驱动程序规定的设备文件使用方式去控制硬件。 控制硬件...

2020-07-30 11:53:35 75 0

原创 常用的文件操作接口

文章目录1 文件描述符和打开模式1.1 文件描述符1.2 文件打开模式 1 文件描述符和打开模式 1.1 文件描述符 特殊的索引,实际上就是进程中file_struct结构体成员fd_array的数组下标。 1.2 文件打开模式 主模式: O_RDONLY:只读模式 O_WRONLY:只写模式...

2020-07-30 09:13:52 93 0

原创 Makefile实例分析

文章目录1 可以在小项目中使用的makefile 1 可以在小项目中使用的makefile 代码目录: makefile如下: #ARCH ?= x86 ifeq ($(ARCH), x86) CC = gcc else CC = arm-linux-gnuea...

2020-07-28 11:56:20 162 0

原创 sockaddr数据结构

文章目录1 sockaddr数据结构 1 sockaddr数据结构 很多网络编程函数诞生早于IPv4协议,那时候都使用的是sockaddr结构体,为了向前兼容,现在sockaddr退化成了(void *)的作用,传递一个地址给函数,至于这个函数是sockaddr_in还是其他的,由地址族确定,然后...

2020-07-28 09:39:27 72 0

原创 网络字节序转换函数

文章目录1 网络字节序转换函数 1 网络字节序转换函数 常用的网络字节序转换函数如下: #include <arpa/inet.h> uint32_t htonl(uint32_t hostlong); uint16_t htons(uint16_t hostshort); uint...

2020-07-28 09:15:27 107 0

原创 简单回声服务器的实现

文章目录1 简单回声服务器的实现 1 简单回声服务器的实现 实现非常非常简单,而且没啥实用价值,代码如下: server.c: #include <stdio.h> #include <unistd.h> #include <sys/types.h> #incl...

2020-07-28 09:11:14 118 0

原创 Shell中的函数

@[] #!/bin/bash my_function() { echo "hello, this is my function" } my_function

2020-07-11 13:40:26 90 0

原创 Shell中的循环语句

文章目录1 for in 循环2 while循环 1 for in 循环 for variable in value_list do ​ statements done value_list可以是如下值: 直接给出具体的值 给出一个取值范围 使用命令的执行结果 使用 Shell 通配符...

2020-07-10 17:58:53 106 0

原创 Shell中的分支语句

文章目录1 if语句1.1 if语句1.2 if else 语句1.3 if elif else 语句2 case in语句2.1 case in语句 1 if语句 1.1 if语句 if condition then ​ statement(s) fi 示例: #!/bin/ba...

2020-07-10 17:26:50 146 0

原创 索引处理类的设计与实现

文章目录1 索引处理类的头文件定义 1 索引处理类的头文件定义 #ifndef QINIU_LARGEFILE_INDEX_HANDLE_H_ #define QINIU_LARGEFILE_INDEX_HANDLE_H_ #include "common.h" #inclu...

2020-07-06 16:31:52 1387 0

原创 客户端引入多线程

文章目录1 客户端引入多线程 1 客户端引入多线程 我们在客户端引入多线程,示例代码如下: #include "EasyTcpClient.hpp" #include<thread> bool g_bRun = true; void cmdThread() { ...

2020-07-06 16:21:06 73 0

原创 StaicArray

文章目录1 StaticArray设计要点2 继承关系图和接口实现3 代码实现 1 StaticArray设计要点 类模板 封装原生数组 使用模板参数决定数组大小 实现函数返回数组长度 拷贝构造和赋值操作 2 继承关系图和接口实现 继承关系图 接口实现 template &lt;...

2020-07-06 15:33:32 66 0

原创 Array

文章目录1 数组类的创建1.1 需求分析1.2 Array设计要点2 继承关系图和接口实现3 代码实现 1 数组类的创建 1.1 需求分析 创建数组类代替原生数组的使用 数组类包含长度信息 数组类能够主动发现越界访问 1.2 Array设计要点 抽象类模板,存储空间的位置和大小由子类完成 重...

2020-07-06 15:31:20 63 0

原创 Shell中的常用操作

文章目录1 读取从键盘输入的数据2 退出当前进程3 对整数进行数学运算 1 读取从键盘输入的数据 我们可以使用read进行读取,示例如下: read -p "input a :" a read -p "input b :" b echo $a echo $b...

2020-07-04 15:54:31 92 0

原创 Shell中的变量

文章目录1 变量的定义2 使用变量3 将命令的结果赋值给变量4 删除变量5 特殊变量 1 变量的定义 变量的定义有如下三种形式: variable=value variable='value' variable="value" 如果我们需要将变量的值赋值...

2020-07-04 15:40:08 87 0

原创 多线程开发

文章目录1 多线程开发 1 多线程开发 先看几个基本概念: 线程ID: //头文件 #include<pthread.h> pthread_t ; typedef unsigned long int pthread_t; 线程属性: pthread_attr_t ; in...

2020-07-03 17:57:20 117 0

原创 Shell脚本简介

文章目录1 Shell脚本简介2 第一个shell脚本 1 Shell脚本简介 Shell脚本是什么? shell命令按一定语法组成的文件 Shell脚本有什么用? 批处理文件/整合命令 软件启动 性能监控 日志分析 … Shell命令的本质: 内置命令/外部命令 我们可以使用type...

2020-07-03 17:43:43 86 0

原创 索引文件核心头文件定义

文章目录1 BlockInfo2 MetaInfo 1 BlockInfo 定义直接放在common.h中: struct BlockInfo { uint32_t block_id_; int32_t version_; int32_t file_count_; int32_...

2020-07-01 16:42:07 85 0

原创 多线程的使用方式

文章目录1 创建线程 1 创建线程 这里我们直接使用C++11提供的库函数来进行实现。 简单示例代码如下: #include<iostream> #include<thread> using namespace std; void workFun() { for (in...

2020-07-01 14:37:35 100 0

原创 多线程简介

文章目录1 多线程简介1.1 什么是线程1.2 多线程的使用场景 1 多线程简介 1.1 什么是线程 什么是线程? 依照线性顺序、独立执行一段计算指令程序的承载空间,是计算机系统执行程序流的最小单元。 单线程示例如下: 多线程示例: 我们来思考一个问题,使用多线程可以提升性能吗?我们必须知道,...

2020-07-01 13:59:32 85 0

原创 UDP编程模型

文章目录1 UDP编程模型 1 UDP编程模型 UDP编程模型如下: UDP编程示例代码: udp_server.c: //服务器端代码 server.c #include <stdio.h> #include <string.h> #include <sys/so...

2020-07-01 13:46:56 116 0

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