![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 92
没有苦难的工作,只有勇敢的狗狗
在华为搬砖…
展开
-
select、poll、epoll函数详解
select和poll的区别select 函数select 函数该函数允许进程指示内核等待多个事件中的任何一个发生,并只在有一个或多个事件发生或经历一段指定的时间后才唤醒它。int select(int maxfdpl, fd_set *readset, fd_set *writeset, fd_set *exceptset, const struct timeval *timeout);timeout:告知内核等待所指定描述符中的任何一个就绪可花多长时间。readset、writeset、exc原创 2021-09-26 15:48:30 · 486 阅读 · 0 评论 -
编译和链接做了什么
编译和链接预编译编译汇编链接将一个c/cpp文件转化为可执行文件,会经过预编译、编译、汇编和链接的过程。用户看不到这个过程,因为被编译器隐藏掉了。以源文件sum.c为例说明四个操作。//sum.c#include<stdio.h>#define NUM1 1#define NUM2 2int sum(int num1, int num2)\{ int s = 0; s = num1 + num2; return s;}int main(){ int s = 0原创 2021-08-05 12:30:26 · 541 阅读 · 0 评论 -
Linux 内存映射的必要性
引用:http://blog.sina.com.cn/s/blog_465bc6c90100f37m.htmlhttps://baijiahao.baidu.com/s?id=1614443096967904350&wfr=spider&for=pc背景:在非内存映射的情况下,文件读写方式为IO读写。文件i/o的读操作:会先向文件设备发起读请求,然后驱动把请求要读的数据读取到文件的缓冲区中,这个缓冲区位于内核,然后再把这个缓冲区中的数据复制到程序虚拟地址空间中的一块区域中。文件i原创 2020-05-12 15:58:56 · 531 阅读 · 0 评论