C语言
默语先行
这个作者很懒,什么都没留下…
展开
-
文件操作函数封装(遍历文件夹下所有文件、统计文件夹下文件大小、删除目录及文件、文件保存、目录树创建)
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <dirent.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <list>#include <iterator&g原创 2021-10-28 16:59:35 · 313 阅读 · 0 评论 -
ip协议首部校验及tcp校验计算
IP报文首部校验和计算:上图为IP首部结构,16位首部校验和计算方法如下:将图中按照16位进行分组,然后校验和位清零,将数据按16位一组进行累加,最后得出一个结果,如果此结果高16位为0,则将结果按位取反后填入16位首部校验和位置;如果高16位不为0,则将高16位与低16位相加,再看得出结果高16位是否为0,如果不为零则继续相加,直到高16位为0,然后将结果按位取反后填入16位首部校验和位置。上图为一个tcp报文的抓包,提取其中ip报文,从第一行45 00到第三行a8 1c为ip报文,按照上述进原创 2021-10-18 17:43:06 · 2867 阅读 · 0 评论 -
守护进程-精灵进程创建
守护(精灵)进程,是Linux中的后台服务进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。其没有控制终端,不能直接和用户交互,不受用户登录、注销的影响。创建过程如下:创建子进程,父进程退出,脱离控制终端;子进程中创建新会话,这个步骤是创建守护进程中最重要的一步,在这里使用的是系统函数setsid。setsid函数用于创建一个新的会话,并担任该会话组的组长。调用setsid的三个作用:让进程摆脱原会话的控制、让进程摆脱原进程组的控制和让进程摆脱原控制终端的控制;改变当前工原创 2021-10-05 12:27:12 · 272 阅读 · 0 评论 -
设计模式之单例模式
单例设计模式属于创建型设计模式,其目的是为了保证一个类仅有一个实例,此类提供一个访问该类的全局访问节点。C++实现代码如下:#include <stdio.h>#include <stdlib.h>class Singleton{public: static Singleton *GetSingleton() /* 获取单例 */ { if(m_Singleton == NULL)//判断单例是否已经实例化-----------------------step原创 2021-10-04 13:49:35 · 77 阅读 · 0 评论 -
linux-exec(execl/execlp/execle/execv/execvp/execvpe)函数族
NAMEexecl, execlp, execle, execv, execvp, execvpe - execute a fileSYNOPSIS#include <unistd.h> extern char **environ; int execl(const char *path, const char *arg, ...); int execlp(const char *file, const char *arg, ...); int execle(con原创 2021-09-22 11:39:57 · 769 阅读 · 0 评论 -
linux下网速监控 linux及android分网卡网速监控
网速监控 linux及android网速监控在/proc/下面有一个网络信息的设备交互目录,名称是net,net目录下存放了与网络相关所有信息,如网关文件route,tcp连接及归属等信息文件tcp(netstat命令的一部分),udp连接及归属等信息文件udp(netstat命令的一部分)等,与接收数据包相关的文件是dev,cat /proc/net/dev如下图:分为两块,一块为接受区,即第一行中的Receive,一块为发送区,即第一行中的Transmit,如果只考虑网速监控及流量统计,只需要关原创 2021-08-20 11:50:03 · 382 阅读 · 0 评论 -
进程间同步
进程间同步的方式1.通过设置互斥量的属性实现互斥量初始化函数int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr)通过设置pthread_mutexattr_t实现进程同步,pthread_mutexattr_t相关函数如下:int pthread_mutexattr_init(pthread_mutexattr_t *attr)初始化int pthread原创 2021-03-14 18:56:59 · 191 阅读 · 0 评论