C语言相关
文章平均质量分 85
Randy__Lambert
这个作者很懒,什么都没留下…
展开
-
一个小型操作系统的学习与实现
github地址: https://github.com/RandyLambert/ssxOSssxOS ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄ ▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░▌ ▐░▌▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░█▀▀▀▀▀▀▀▀▀ ▐░█▀▀▀▀▀▀▀▀▀ ▐░▌ ▐░▌ ▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀▀▀▀▀▀ ▐░▌原创 2020-12-24 23:25:47 · 1517 阅读 · 5 评论 -
Linux I/O 多路复用技术 epoll 源码分析
epoll 源码分析在 Linux 下做网络编程,一定需要对 epoll 有深入的了解,因此我在这里对 epoll 的源码做了注释,因为源码过长,所以摘出来一些重要的数据结构和关键代码,对其做了注释(从暑假拖到12月份也太真实了…),github地址.epoll 介绍什么是 I/O 多路复用?在讲解 epoll 之前,我先简单介绍一下什么是多路复用,其实能想着去了解 epoll 底层实现原理的人一般不会出现这种疑问,但是我还是简单的说一下吧.当我们在进行网络编程的时候,经常会出现一种场景.我原创 2020-12-06 14:39:27 · 232 阅读 · 0 评论 -
高性能线程池C语言版(简单实现动态扩容和销毁)
前言:之前在暑假留校期间,简单的学习了线程池的实现,经过里半年的学习,我对线程池,和对线程池在网络编程中的重要性有了更深的一层理解。在用c++写之前先巩固一下环境编程的基础知识,毕竟这些知识点都是相通的,只是换了套API罢了。为什么要使用线程池?在进行网络编程的时候,一个服务器往往会需要服务很多客户端,可以把这个过程抽象成一个生产者消费者模型,服务器充当生产者,客户端充当消费者,在C/S模...原创 2020-01-19 21:05:58 · 1862 阅读 · 7 评论 -
LinuxC实战—myshell(cd内置命令,重定向,管道,屏蔽ctrl+c,自动补全,移动光标,命令切换,ls自带颜色)
实现屏蔽^c信号,只要这一行代码 signal(SIGINT,SIG_IGN);补全功能和移动光标,命令切换____readline库自动补全这个功能需要用Readline 库 ,没有的话需要安装,至于如何使用readline推荐这篇帖子点一点 sudo apt-get install libreadline6-dev 因为readline 是动态链接库 所以 ,编译的时候 需要加...原创 2019-07-27 14:02:21 · 717 阅读 · 0 评论 -
LinuxC实战—ls命令实现(-R,-a,-l)
暑假留校前两天实现ls命令基础功能:主要问题:功能实现:实现ls命令基础功能:主要问题:一些玄学问题(改了好久 )当使用lstat(path,&buf)函数时,如果path路径最后含有 / 符号(例home/),函数无法正常使用。此处有问题,需要先用一个int数据接一下,不能直接操作因为电脑原因,无法完整实现ls -R类全部功能(某些Windows文件无法访问)拓展知识当...原创 2019-07-20 17:57:27 · 516 阅读 · 0 评论 -
wait()和waitpid()解析
wait()函数说明wait(等待子进程中断或结束,相关函数 waitpid,fork)表头文件#include<sys/types.h>#include<sys/wait.h>函数原型pid_t wait (int * status);函数说明参数 status 是一个整形指针。如果status不是一个空指针,则终止进程的终止状态将存储在该指针所指向的内存...原创 2019-07-27 12:01:16 · 1115 阅读 · 1 评论 -
LinuxC编程实战进程间通信和信号初步总结
信号:64种killkill ptc c信号非常有先通知好kill -l系统中的信号进程可以忽略大多数信号(也可以被阻塞)出了让他死的内核有标准处理洗好程序信号无优先级管道像io两个进程管道两边管道不能广播数据不能确定便捷无法判断哪一个发数据msg2命名管道是打开之后才会使用...原创 2019-08-27 16:26:56 · 209 阅读 · 0 评论 -
LinuxC编程实战 xunchat聊天室(伪)项目文档
西邮Linux兴趣小组 暑期项目开发设计文档项目名称:xunchat聊天室项目作者:孙首勋1.项目引言1.1项目综述该项目基本模拟QQ的功能,可以实现群聊,私聊,收发文件,查看聊天消息等基本功能,进行操作优化,对于添加好友,添加群聊有应有的项目交互,支持多个用户接入实时聊天。1.2术语表序号术语或缩略语说明性定义1C/SClient/Server模型...原创 2019-08-25 20:29:05 · 549 阅读 · 0 评论 -
大一课设 C 语言版 TTMS
如果你是西安邮电大学软工的专业大一学生,大一学年年底会写一个项目叫ttms,主要的项目文档,学校会发一本蓝书,200页左右,作为西邮计算机专业大一最难课设,其实看懂那本蓝书在下手写很简单,而且写到后来就是复制粘贴,难点不多,因为框架给了,认真写很好写,而且学校为了让你能好好更好学习了解计算机知识,故意在书里搞出好多错误让你去找去改,很贴心。————————————————————————————...原创 2019-08-25 23:24:51 · 2063 阅读 · 1 评论 -
Linux下的进程线程经典实验(哲学家吃饭,生产消费者模型等)
上一周完成是任务不是非常的好,所以总结一下,希望这一周能做好requirement(代码已补全)进程实验#include <stdio.h>#include <sys/types.h>#include <unistd.h>#include <signal.h>#include <ctype.h>#include &l...原创 2019-08-05 22:29:52 · 468 阅读 · 2 评论 -
LinuxC简单实现epoll高并发的使用
epoll的使用实现原理在网上整理了一些博客的内容,百度了一些内容,加了点自己的理解,现在的理解还过于浅显,对于具体的细节还一头雾水,过一段时间在重新过来修改在之前我学习的进行tcp的套接字编程之中,使用的是select进行的多路复用,服务器端大概流程为1.创建一个套接字create2.初始化服务端的套接字地址结构3.进行绑定band4.化被动为主动,进行监听listen5.通过...原创 2019-08-03 13:44:55 · 491 阅读 · 0 评论 -
XiyouLinuxgroup 2015 2017 2018面试题
先从2017年写原创 2019-05-20 01:25:06 · 348 阅读 · 0 评论