摘要: 原文链接:进程间的通信方式——pipe(管道) 1.进程间通信 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程 阅读全文
posted @ 2023-03-20 21:58 ImreW 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 一个 socket 是否设置为阻塞模式,只会影响到 connect/accept/send/recv 等四个 socket API 函数,不会影响到 select/poll/epoll_wait 函数,后三个函数的超时或者阻塞时间是由其函数自身参数控制的。 (一)原理分析 下面详细的解释,为了方便解 阅读全文
posted @ 2023-03-20 20:59 ImreW 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 头文件:#include <stdio.h> sprintf()函数用于将格式化的数据写入字符串。 int sprintf(char *str, char * format [, argument, ...]); char *str为要写入的字符串。 char * format为格式化字符串。 ar 阅读全文
posted @ 2023-03-20 19:18 ImreW 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 一、bzero 功能:bzero把目标字符串中指定的数目的字节置为0 #include <strings.h> void bzero(void *dest,size_t nbytes); 参数:1.字符串 2.指定的字节 二、bcopy 功能:将指定数目的字节从源字符串移动到目标字符串中 #incl 阅读全文
posted @ 2023-03-20 19:11 ImreW 阅读(65) 评论(0) 推荐(0) 编辑
摘要: (一)epoll 交互过程 一个客户端和使用了 epoll 的服务端的交互过程如下图所示。 1.epoll 原理 (1)select 的问题 select 的问题在于描述符的限制,能监控的文件描述符最大为 FD_SETSIZE,对于连接数很多的场景就无法满足; 另外select 还有一个问题,每调用 阅读全文
posted @ 2023-03-20 19:03 ImreW 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 一、题目 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 二、思路 根据罗马数字的唯一表示法,为了表示一个给定的整数 num,我们寻找不超过 num 的最大符号值,将 num 减去该符号值,然后继续寻找不超过 num 的最大符号值,将该符号拼接在上一个找到的符号之后,循环直至 n 阅读全文
posted @ 2023-03-20 14:30 ImreW 阅读(5) 评论(0) 推荐(0) 编辑