2018年7月22日

多进程实现并发服务器(TCP)

摘要: 前提:基于Linux系统的学习 阅读全文

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

基于UDP的编程

摘要: 前提:基于Linux系统的学习 服务器端编程模型1 socket(2) 创建通讯端点,返回一个文件描述符fd2 bind(2) 将fd绑定到本地的地址和端口while(1){ 阻塞等待客户端请求数据的到来 recvfrom(2) 业务处理 将处理结果发送给客户端sendto(2)} 客户端编程模型1 阅读全文

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

基于TCP的编程

摘要: 前提:本文基于Linux系统下的学习 服务器端 1 创建通讯端口,返回socket设备的文件描述符 sfdsocket(2)#include <sys/types.h> /* See NOTES */#include <sys/socket.h>int socket(int domain, int 阅读全文

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

内存共享

摘要: 前提:基于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) 编辑

导航