2018年7月22日

内存共享

摘要: 前提:基于Linux系统的学习 共享内存1 获取键值 ftok(3)2 使用shmget(2)向系统申请共享内存段的id.3 将共享内存段关联到进程 shmat(2)4 内存的操作5 解除共享内存段和进程的关联 shmdt(2) 阅读全文

posted @ 2018-07-22 14:14 秋雨丶梧桐 阅读(122) 评论(0) 推荐(0) 编辑

消息队列

摘要: 前提:基于Linux系统的学习 消息队列1 获取键值 ftok(3)2 获取消息队列的id msgget(2)3 向消息队列发送消息 msgsnd(2)4 从消息队列获取消息 msgrcv(2) 阅读全文

posted @ 2018-07-22 14:10 秋雨丶梧桐 阅读(146) 评论(0) 推荐(0) 编辑

进程间的通信----管道

摘要: 前提:本文是基于Linux系统下的学习 用户态的进程是如何组织的呢?所有的用户态进构成了一棵树。进程树。 进程树的树根是init.也就是1号进程。是用户态进程的祖宗进程。如何查看进程树?pstree 进程之间的关系 父子进程和兄弟进程查看进程的信息ps -aux实时查看进程的使用情况 top 如何创 阅读全文

posted @ 2018-07-22 14:00 秋雨丶梧桐 阅读(143) 评论(0) 推荐(0) 编辑

mmap内存映射

摘要: 前提:本文是基于Linux系统下的学习 补充:Linux系统下,一切皆文件 段错误的原因: 访问了没有物理地址映射的虚拟地址或者是对改地址没有访问权限 #include <sys/mman.h>void *mmap(void *addr, size_t length, int prot, int f 阅读全文

posted @ 2018-07-22 13:32 秋雨丶梧桐 阅读(180) 评论(0) 推荐(0) 编辑

文件描述符的复制——实现输出重定向

摘要: 前提:基于Linux系统下的学习 dup(2) dup2(2) #include <unistd.h>int dup(int oldfd);功能:复制文件描述符参数:oldfd:指定源文件的描述符返回值:错误 -1 errno被设置成功 返回新的文件描述符 新的文件描述符使用未使用的、最小的文件描述 阅读全文

posted @ 2018-07-22 13:16 秋雨丶梧桐 阅读(271) 评论(0) 推荐(0) 编辑

简单的文件操作

摘要: 前提:本文基于LInux系统的编程与学习 使用系统调用对文件进行操作。open(2) close(2) read(2) write(2) lseek(2) 文件描述符。进程 进程的本质是对程序执行的过程中,对计算机资源使用情况的描述。每个进程都有自己的pid。每个进程都有自己的户口本。户口本里记录了 阅读全文

posted @ 2018-07-22 13:13 秋雨丶梧桐 阅读(143) 评论(0) 推荐(0) 编辑

程序中动态加载共享库

摘要: 前提:本文是基于Linux系统下的编程与学习 动态加载,按需加载,工程师需要动态库的时候,才将动态库加载到内存。 dlopen(3)#include <dlfcn.h>void *dlopen(const char *filename, int flags);功能:打开一个共享库文件,返回一个han 阅读全文

posted @ 2018-07-22 12:50 秋雨丶梧桐 阅读(677) 评论(0) 推荐(0) 编辑

动态库和静态库

摘要: 前提:本文是基于Linux系统下的编程与学习 补充:头文件卫士,避免头文件重复包含。 命令:nm nm 二进制文件名; 可以查看二进制文件的符号表 那么符号表里都有哪些内容呢? 全局变量的名字, 静态局部变量的名字, 函数的名字 静态库和动态库 生成静态库: a. 将要加入静态库的源文件编译成目标文 阅读全文

posted @ 2018-07-22 12:39 秋雨丶梧桐 阅读(138) 评论(0) 推荐(0) 编辑

2018年4月3日

用结构体解析Pascal字符串

摘要: 下面我们来看看关于柔性数组的资料: 1、什么是柔性数组? 柔性数组既数组大小待定的数组, C语言中结构体的最后一个元素可以是大小未知的数组,也就是所谓的0长度,所以我们可以用结构体来创建柔性数组。 2、柔性数组有什么用途 ? 它的主要用途是为了满足需要变长度的结构体,为了解决使用数组时内存的冗余和数 阅读全文

posted @ 2018-04-03 15:38 秋雨丶梧桐 阅读(893) 评论(0) 推荐(1) 编辑

2017年12月14日

局部静态变量的学习体会

摘要: 局部静态变量 其实质还是全局变量,只是编译器对其进行了限制,不允许跨文件访问 其作用域为文件作用域,生命期和全局变量一样 若想跨文件访问,可以使用接口函数(本文件内其他可以使用static的函数的函数,称之为接口函数,或内部实现函数) 如图所示定义的全局变量和局部静态变量内存存放是比较接近的。在程序 阅读全文

posted @ 2017-12-14 21:20 秋雨丶梧桐 阅读(180) 评论(0) 推荐(0) 编辑

导航