C语言

C语言实现LRU缓存(一)

LRU缓存概念 基本概念:缓存(Cache):Cache被称为高速缓存,是介于CPU和内存之间的高速小容量存储器,其容量远小于内存,但速度却可以接近CPU的频率。 概念拓展:如今高速缓存的概念已被扩充,不仅在CPU和主内存之间有Cache,而且在内存和硬盘之间也有Cache(磁盘缓存),乃至在硬盘与...
代码星球·2020-04-09

C语言实现简单epoll服务器(二)

共有的头文件/*utility.h*/#ifndef__UTILITY_H_INCLUDED#define__UTILITY_H_INCLUDED#include<iostream>#include<list>#include<sys/types.h>#include<sys/...

C语言简单实现epoll服务器(一)

C/S模型TCP通信C/S模型图如下所示:TCP服务端通信的常规步骤:使用socket()创建TCP套接字(socket)将创建的套接字绑定到一个本地地址和端口上(Bind)将套接字设为监听模式,准备接收客户端请求(listen)等待客户请求到来:当请求到来后,接受连接请求,返回一个对应于此次连接的新的套接字(acce...

C语言实现2048小游戏

上线左右或者wasd移动,q或Q退出/*2048.c*/#include<stdio.h>#include<stdlib.h>#include<curses.h>#include<unistd.h>#include<signal.h>#include<t...
代码星球·2020-04-09

C语言使用OpenGL制作旋转地球

前置步骤(安装依赖库):sudoapt-getupdatesudoapt-getinstallbuild-essentialsudoapt-getinstalllibgl1-mesa-devsudoapt-getinstalllibglu1-mesa-dev $sudoapt-getinstallfreegl...

C语言实现大数计算

所谓大数,就是超过longlong表示的位数。 #include<stdio.h>#include<stdlib.h>#include<string.h>#defineBASE(10)#defineMAX(x,y)((x)>(y)?(x):(y))typedefstr...
代码星球·2020-04-09

C语言实现webServer

 1.字符串管理模块:  这个文件主要实现了能够自动扩展并灵活拼接的字符串类型,具体作用可以参考C++的string类型作用。/*stringutils.h*/#ifndefSTRINGUTILS_H#defineSTRINGUTILS_H#include<stdlib.h>typedefstru...
代码星球·2020-04-09

C语言实现五子棋

可以称得上史上最简单的五子棋版本了。可以使用curses库来改进页面和下棋方式。并且对于输入的坐标没有进行鉴别,如果输入的坐标超过棋盘大小,就会段错误退出。我改进了一点,但是还是没有完全避免这个问题。/**Gobang.c*/#include<stdio.h>#include<stdlib.h>...
代码星球·2020-04-09

C语言实现贪吃蛇游戏

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<sys/times.h>#include<sys/types.h>#include<unistd.h>#include<...
代码星球·2020-04-09

C语言实现Linux之ls

ls命令用来显示目标列表。 常用参数:-l   :以长格式显示目录下的内容列表。输出信息从左向右依次包括文件名,文件类型,权限模式,硬连接数,所有者、组、文件大小和文件的最后修改时间等;-a  :显示所有档案及目录;-r   :以...
代码星球·2020-04-09

C语言实现linux之who功能

/*who_test.c*/#include<stdio.h>#include<string.h>#include<getopt.h>#include<time.h>#include<stdlib.h>#include<stdbool.h>#inc...

C语言实现FTP服务器

 公共部分代码/*common.h*/#ifndefCOMMON_H#defineCOMMON_H#include<arpa/inet.h>#include<ctype.h>#include<dirent.h>#include<errno.h>#include&...
代码星球·2020-04-09

C语言实现聊天室软件

 /*common.h*//*服务器端口信息*/#definePORTLINK".charport"/*缓存限制*/#defineMAXNAMELEN256#defineMAXPKTLENE2048/*信息类型钉钉*/#defineLIST_GROUPS0#defineJOIN_GROUP1#defineLE...

C语言之symlink

函数原型:#include<unistd.h>intsymlink(constchar*oldpath,constchar*newpath); 函数说明:symlink()以参数newpath指定的名称来建立一个新的连接(符号连接)到参数oldpath所指定的已存在文件.参数oldpath指定的文...
代码星球·2020-04-09

C语言实现多线程排序

#include<stdio.h>#include<pthread.h>#include<stdlib.h>#include<string.h>/*声明变量*/intarray_length,file_length;int*array_master;FILE*freade...
代码星球·2020-04-09