C/C++
文章平均质量分 63
Swair_Fang
这个作者很懒,什么都没留下…
展开
-
一款高性能的rpc网络框架。独创Fson协议,使用无锁任务流线程池、Reactor模型,内存管理,五脏俱全。
blog: https://my.oschina.net/u/4936903Fson协议类型标记目前有以下8种类型标记 byte 0 char 1 short 3 int 4 long 5 double 6 string 10 Fson 99Fson协议格式Fson协议的最开始16位为<key, value>原创 2021-07-06 13:52:41 · 274 阅读 · 0 评论 -
C实现单链表常用操作及与数组相互格式转换
/* ============================================================================ Name : 单链表(带表头L) Author : Swair Fang Version : 1.1 Copyright : by Swair Fang Description :原创 2014-02-21 13:14:25 · 2504 阅读 · 0 评论 -
C堆栈实现
/* ============================================================================ Name : 堆栈(堆栈,堆栈,堆中开的栈空间,所以叫堆栈) Author : Swair Fang Version : 1.1 Copyright : by Swair Fang原创 2014-02-22 23:01:10 · 868 阅读 · 0 评论 -
C++堆栈实现及拷贝构造函数的使用注意事项
/*============================================================================Name : 堆栈(堆栈,堆栈,堆中开的栈空间,所以叫堆栈)Author : Swair FangVersion : 1.1Copyright : by Swair FangDescr原创 2014-03-06 16:43:59 · 4286 阅读 · 0 评论 -
互斥锁
extern bool lock=0;extern char global_buff[100];线程1: if(lock==0) { lock=1; for(int i=0;i scanf("%c",global_buff[i]); lock=0原创 2014-03-05 10:19:22 · 802 阅读 · 0 评论 -
哈希表for实时数据库
原创 2014-03-29 21:33:28 · 891 阅读 · 0 评论 -
带内存池的哈希表原理图
原创 2014-03-31 09:14:24 · 1225 阅读 · 0 评论 -
C++模板链表类
封装了一个链表类,有空再详细讲解,后续还得写个矩阵类库。测试结果:完整代码:/* ============================================================================ Name : 单链表(带表头L) Author : Swair Fa原创 2014-03-24 20:59:35 · 2141 阅读 · 0 评论 -
C++模板堆栈类
堆栈比较完美的版本实现,平常可以自己开堆栈使用。目前的一个任务情况是通过逆波兰法解析数学表达式而用到堆栈。/*============================================================================Name : CStackAuthor : Swair FangVersion : 5原创 2014-03-12 14:40:57 · 1159 阅读 · 0 评论 -
container_of理解
#define offsetof(TYPE,MEMBER) ((size_t)&((TYPE*)0)->MEMBER) 把0看成是一个指向0地址的指针,然后将0通过强制转换((TYPE*)0)成为TYPE*类型指针,&((TYPE*)0)->MEMBER获得TYPE结构体的成员变量MEMBER的地址,由于结构体的地址为0,所以MEMBER的地址等于结构体地址的偏移量,于是就得到了成员变原创 2014-10-28 20:35:19 · 919 阅读 · 0 评论 -
通用的函数重试模板
在程序开发的过程中,可能会涉及许多外部服务的调用。但是每个外部调用函数接口总会由于各式各样的原因导致调用失败,例如调用超时,这个时候就需要进行多次重试,int count = 3;while(count--){ if(-1 != callserver()) return 0;}这样重试3次,增加系统可靠性。若是每个这个的调用外部接口服务都做个次数...原创 2019-08-19 17:54:36 · 321 阅读 · 0 评论 -
C堆内矩阵实现
/* ============================================================================ Name : 矩阵实现 Author : Swair Fang Version : 1.1 Copyright : by Swair Fang Description : 堆内矩阵原创 2014-02-21 16:54:01 · 1011 阅读 · 0 评论 -
struct与class的this指针
/* ============================================================================ Name : struct的this指针 Author : Version : Copyright : Your copyright notice Description :原创 2014-03-04 09:50:54 · 1592 阅读 · 0 评论 -
Linux c写的简单的聊天器
在linux上练习了一下Socket和fork编程,做了一个聊天小工具,欢迎大家学习交流。最终效果server部分client部分原创 2012-11-26 15:31:24 · 1060 阅读 · 3 评论 -
C数据结构部分代码
//============================================================================// Name : flibs.h// Author : Swair// Version :// Copyright : Your copyright notice// Descripti原创 2013-10-23 14:46:11 · 712 阅读 · 0 评论 -
struct Point 堆内定义,堆内运算操作
#include #include //用指针操作结构体,用的是堆的内存,结构指针直接操作内存,相比结构体作为参变量传入函数还得拷贝一份临时结构体进行运算及离开函数进行销毁,节省了不少开销typedef struct Point{ int x; int y; struct Point*Next;} *Pt;//打印voi原创 2014-01-15 11:21:16 · 1788 阅读 · 0 评论 -
C语言计时函数
#include #include #include //计算时间,调用第一次与第二次之间时间段,第三次与第四次时间段,以此类推。void clock_mark(){static clock_t start;static clock_t end;static int t;if(t==0){start=clock();printf("\n*****原创 2014-01-20 09:19:19 · 894 阅读 · 0 评论 -
单链表及快速排序c语言实现
/* ============================================================================ Name : 单链表(带表头L) Author : Version : Copyright : Your copyright notice Description : 单链表实现原创 2014-02-12 14:31:06 · 6640 阅读 · 0 评论 -
sockaddr_in初始化函数
void sockInit(struct sockaddr_in *p,short int family,char* addr,unsigned short int port){bzero ((char *) p, SocketAddressSize);p->sin_family=family;p->sin_addr.s_addr=inet_addr(addr);p->sin_原创 2014-01-23 13:35:55 · 6487 阅读 · 0 评论 -
Linux系统调用过程学习笔记
Linux系统调用初始化:在start_kernel()中调用trap_init(),设置中断向量表。#define SYSCALL_VECTOR 0x80set_system_gate (SYSCALL_VECTOR, &system_call) ; //当系统遇到INT80H中断时,即CPU跳转到相应中断服务程序,&system_call为中断服务程序入口地址原创 2014-02-20 12:40:08 · 781 阅读 · 0 评论 -
Linux系统调用函数
一、进程控制:fork创建一个新进程clone按指定条件创建子进程execve运行可执行文件exit中止进程_exit立即中止当前进程getdtablesize进程所能打开的最大文件数getpgid获取指定进程组标识号转载 2014-02-20 12:06:46 · 2596 阅读 · 0 评论 -
Linux c的带格式的I/O整理
char buf1[100]="hello";char buf2[100]; 标准流输出 文件流输出 字符串流输出printf("%s\n",buf1); 注:buf1数据输出到标准控制台FILE *fp=open("/root/hello.txt","w"); fprintf(fp, "%s原创 2012-11-23 15:43:58 · 355 阅读 · 0 评论