上一页 1 2 3 4 5 6 7 8 9 10 ··· 23 下一页
摘要: int *p = new float[2]; //编译错误(类型安全) int p = (int)malloc(2 * sizeof(double));//编译无错误 相同点: 都可用于内存的动态申请和释放 不同点: 前者是C++运算符(一般用于生成对象),后者是C/C++语言标准库函数 new自动 阅读全文
posted @ 2023-02-20 11:40 小秦同学在上学 阅读(140) 评论(0) 推荐(0) 编辑
摘要: int *p[10] int (*p)[10] int *p(int) int (*p)(int) int *p[10]表示指针数组,强调数组概念,是一个数组变量,数组大小为10,数组内每个元素都是指向int类型的指针变量。 int (*p)[10]表示数组指针,强调是指针,只有一个变量,是指针类型 阅读全文
posted @ 2023-02-20 11:37 小秦同学在上学 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 申请方式不同 栈由系统自动分配 堆是自己申请和释放的 申请大小限制不同 栈空间默认是4M, 堆区一般是 1G - 4G 申请效率不同 栈由系统分配,速度快,不会有碎片。 堆由程序员分配,速度慢,且会有碎片。 阅读全文
posted @ 2023-02-20 11:34 小秦同学在上学 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 指针是一个变量,存储的是一个地址,引用跟原来的变量实质上是同一个东西,是原变量的别名 指针可以有多级,引用只有一级 指针可以为空,引用不能为NULL且在定义时必须初始化 指针在初始化后可以改变指向,而引用在初始化之后不可再改变 sizeof指针得到的是本指针的大小,sizeof引用得到的是引用所指向 阅读全文
posted @ 2023-02-20 11:29 小秦同学在上学 阅读(30) 评论(0) 推荐(0) 编辑
摘要: main执行之前和之后执行的代码可能是什么? 执行之前: 主要用于初始化系统相关资源 设置栈指针 初始化静态变量和全局变量。.data段的内容 没有初始化的全局变量赋初始值 全局对象初始化 将main函数的参数传递给main函数,然后才真正运行main函数 attribute((constructo 阅读全文
posted @ 2023-02-20 11:20 小秦同学在上学 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 有名管道 因为匿名管道只能用于有亲缘关系间的进程通信,所以为了没有亲缘关系之间的进程通信,提出了有名管道 有名管道(FIFO)提供了一个路径名与之关联,并以FIFO的文件形式存放在文件系统中,打开方式和普通文件一样。这样进程之间只需要访问该路径,就可以彼此通过FIFO通信。 一旦打开FIFO,就可以 阅读全文
posted @ 2023-02-09 14:57 小秦同学在上学 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 管道的读写特点 使用管道时需要注意以下几种特殊的情况(假设都是阻塞IO操作) 所有的指向管道写端的文件描述符都关闭了(即管道写端的文件描述符的引用计数为0)。有进程从管道的读端读数据,那么管道中剩余的数据被读取以后,再次read会返回0,就像读到文件末尾一样。 如果有指向管道写端的文件描述符没有关闭 阅读全文
posted @ 2023-02-09 11:50 小秦同学在上学 阅读(77) 评论(0) 推荐(0) 编辑
摘要: /* - 实现 ps aux | grep *** - 子进程:执行ps aux 子进程结束后,将数据发送给父进程 - 父进程:获取到数据,并进行过滤 - pipe() - execlp():默认把结果输出的标准终端,需要把子进程的stdout_fileno标准输出重定向到管道的写端 dup2 */ 阅读全文
posted @ 2023-02-09 11:11 小秦同学在上学 阅读(21) 评论(0) 推荐(0) 编辑
摘要: /* #include <unistd.h> int pipe(int pipefd[2]); 功能:创建匿名管道,用于进程间通信 参数: - int pipefd[2] 这个数组是一个传出参数 - pipefd[0]对应管道的读端 - pipefd[1]对应管道的写端 返回值: 成功:返回0 失败 阅读全文
posted @ 2023-02-09 10:38 小秦同学在上学 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 匿名管道 管道也叫无名(匿名)管道,它是UNIX系统IPC(进程间通信)的最古老形式,所有的UNIX系统都支持这种通信机制。 统计一个目录中文件的数目命令:ls | wc -l。为了执行该命令,shell创建了两个进程来分别执行ls和wc。 上述 | 称之为管道符,会将ls得到的结果通过管道传输给w 阅读全文
posted @ 2023-02-08 22:52 小秦同学在上学 阅读(44) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 23 下一页