
C
文章平均质量分 62
ZRXSLYG
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
cJSON学习笔记
安装https://github.com/DaveGamble/cJSON组包#include <stdio.h>#include "cJSON.h"int main(){ // 创建dict结点 cJSON *root = cJSON_CreateObject(); // 添加string子节点 cJSON_AddItemToObject(root, "name", cJSON_CreateString("Jack (\"Bee\") Nimble原创 2022-01-17 15:38:40 · 1001 阅读 · 0 评论 -
inotify与文件同步
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-05-31 11:52:07 · 680 阅读 · 0 评论 -
实现多线程下msgsnd,msgrcv的超时
msgsnd和msgrcv,只有在一下三种情况下,才会退出阻塞状态写或读消息队列成功对应的消息队列被删除信号中断为了做到超时退出阻塞状态,一般常用的做法是通过alarm,触发信号中断,但是只能是在一个线程的情况下执行。多线程下调用alarm,SIGALRM信号会传递给其中一个线程(我测试下是传递给主线程…)我的做法是,写个定时器,由单独的一个线程执行定时器,执行msgsnd和msgrcv的线程需要注册相应的事件到定时器中,由定时器线程通过pthread_kill,向对应线程发送信号,使得ms原创 2021-05-21 14:18:01 · 2424 阅读 · 0 评论 -
网络编程4:NAT与穿透
NAT概念网络地址转换。出口网关,将内网IP地址和端口,映射成不一样的公网IP地址和端口。NAT类型锥形NAT和对称NAT的区别是,客户端用同一个本地端口同时请求不同的外网服务器,锥形NAT用分配相同的端口号,对称NAT会分配不同的端口号。测试测试环境的网络拓扑结构代码server.c#include <stdio.h>#include <sys/socket.h>#include <netinet/in.h>#include <ar原创 2021-02-23 12:32:15 · 437 阅读 · 0 评论 -
网络编程3:反应堆与百万链接
epoll反应堆代码#include <stdio.h>#include <stdlib.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <sys/epoll.h>#include <string.h>#include <errno.h>#define BUFFER_LENGTH原创 2021-02-19 22:05:55 · 215 阅读 · 0 评论 -
C 线程池
参考 <https://blog.youkuaiyun.com/qq_36359022/article/details/78796784>参考 <https://www.bilibili.com/video/BV1iJ411S7UA>看了大概的思路,自己理解着敲一下,然后对比原来代码有些地方不同。#include <stdio.h>#include <string.h>#include <stdlib.h>#include <pt原创 2021-01-06 23:41:24 · 155 阅读 · 0 评论 -
epoll反应堆模型
参考 <https://blog.youkuaiyun.com/daaikuaichuan/article/details/83862311>参考 <https://www.bilibili.com/video/BV1iJ411S7UA>求职期间,还是得好好学习。看了大概的思路,自己理解着敲一下。和原来代码的有些地方不同。视频有提到,为什么反应堆模式要注册写事件,因为可能写缓存满了(对方接收窗口小了,接收不过来)。#include <stdio.h>#incl原创 2021-01-05 00:55:26 · 227 阅读 · 0 评论 -
寻路算法初探
https://www.redblobgames.com/pathfinding/a-star/introduction.html1、广搜#include <stdio.h>#include <stdlib.h>#include <string.h>#define bool int#define true 1#define false 0struct Point{ int x; int y;};struct Node{ stru.原创 2020-11-03 10:59:30 · 195 阅读 · 0 评论 -
minishell 练习
参考:https://blog.youkuaiyun.com/studyhardi/article/details/89763358https://blog.youkuaiyun.com/OCTODOG/article/details/709421941、先是最简单的,能够执行并输出#include <stdio.h>#include <string.h>#include <unistd.h>#include <sys/wait.h>#include &l原创 2020-09-18 10:54:51 · 185 阅读 · 0 评论 -
TCP Keepalive
#include <stdio.h>#include <string.h>#include <sys/socket.h>#include <netinet/in.h>#include <netinet/tcp.h>#include <signal.h>#include <stdlib.h>void sighandler(int signum){ printf("catch signal %d, br.原创 2020-09-14 17:19:27 · 258 阅读 · 2 评论 -
B树 写文件
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <fcntl.h>#define max(a,b) ((a)>(b)?(a):(b))#define min(a,b) ((a)<(b)?(a):(b))#define MAX_OFF_T ((off_t)-1)#define MAX_NODE 15.原创 2020-06-07 22:51:00 · 238 阅读 · 0 评论 -
贪吃蛇
写个贪吃蛇的Demo,只有蛇#include <stdio.h>#include <time.h>#include <string.h>#include <signal.h>#include <stdlib.h>#include <assert.h>#define bool int#define true...原创 2019-11-14 14:39:56 · 217 阅读 · 0 评论 -
B+ 树
B+树的练习Demo#include <stdio.h>#include <stdlib.h>#include <string.h>#define max(a,b) ((a)>(b)?(a):(b))#define min(a,b) ((a)<(b)?(a):(b))#define m 5struct BTNode{ int...原创 2019-11-13 16:34:46 · 251 阅读 · 0 评论 -
B树
B树练习Demo,在根节点写满值之后,需要向上延伸,层数+1,我在这里卡了很久,最后决定加个parent的指针#include <stdio.h>#include <stdlib.h>#include <string.h>#define max(a,b) ((a)>(b)?(a):(b))#define min(a,b) ((a)<(...原创 2019-11-07 17:06:31 · 170 阅读 · 0 评论 -
用c实现一个json解析【并不完善】
#include <stdio.h>#include <stdlib.h>#include <string.h>#define json_max 20enum json_style{ json_int=0, json_string=1};struct json{ char* name_start; char* name_end; ...原创 2019-01-16 12:30:25 · 308 阅读 · 0 评论 -
Linux C stdin stdout 以及重定向
最近观摩了一下Tinyhttpd的源码,Tinyhttpd 是J. David Blackstone在1999年写的一个不到 500 行的超轻量型 Http Server。官网:http://tinyhttpd.sourceforge.net/别人的总结:https://github.com/EZLippi/Tinyhttpd其中有一段:管道、重定向!!自己来写个demo来...原创 2019-03-15 13:18:20 · 2241 阅读 · 0 评论 -
Transfer-Encoding chunked C写个解析
#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <netdb.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#incl...原创 2019-05-09 21:42:28 · 663 阅读 · 0 评论 -
人人影视 自动登陆
#define _XOPEN_SOURCE#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <netdb.h>#include <openssl/ssl.h>#include <stdio.h>#inclu...原创 2019-05-22 13:13:09 · 1242 阅读 · 0 评论