Linux应用程序开发学习笔记
Linux应用程序开发学习笔记
林宪宇
这个作者很懒,什么都没留下…
展开
-
Linux应用程序开(day19) ── TCP网络编程、UDP编程
写目录内容sockaddr_in套接字sockaddr通用套接字inet_pton()函数inet_ntop()函数创建套接字服务端本地协议与套接字绑定监听获取连接客户端连接服务器发送数据接收数据关闭连接 内容 sockaddr_in套接字 已经提供好了套接字结构体,我们可以直接使用。 struct sockaddr_in{ sa_family_t sin_family; //2字节 in_por...原创 2020-04-14 19:43:28 · 454 阅读 · 0 评论 -
Linux应用程序开(day18) ── 字节序
目录内容大端小端字节序反转 内容 大端小端 大端:高位字节放在低位地址,低位字节放在高位地址 小端:高位字节放在高位地址,低位字节放在低位地址 网络协议指定了通讯字节序–大端 传输多字节顺序的时候才需要考虑大小端,单字节不需要考虑,因为怎么读都不会错误 同一计算机上的不同进程通信时不需要考虑大端还是小端 使用联合体来判断本机是大端还是小端: union{ short i; char c[siz...原创 2020-04-13 18:27:10 · 302 阅读 · 0 评论 -
Linux应用程序开(day17) ── 线程
目录内容介绍基本操作创建线程等待子线程结束作业作业一 内容 介绍 进程:是系统资源分配和调度的基本单位,是线程的容器。是指令、数据及其组织形式的描述,进程是程序的实体。是计算机中的程序关于某数据集合上的一次运行活动。 线程:是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个进程中可以有多个线程,不同的线程执行不同的任务。 每个进程都拥有自己的数据段、代码段和堆栈...原创 2020-04-08 15:32:41 · 496 阅读 · 0 评论 -
Linux应用程序开(day15) ── 消息队列
目录内容介绍获取键值创建消息队列消息的格式发送消息接收消息测试正常发送和接收作业 内容 介绍 消息队列也能实现不同进程之间的通信。和管道不同的是每条消息都有类型有格式的,他可以实现消息的随机查询,可以不按照先入先出的原则,只有内核重启或者人工删除的时候消息队列才回被删除,否则一直存在于内存之中,所以我们指定IPC键值的时候要保证唯一。消息队列的个数最多16个,总容量最多为16384个字节,每个消息...原创 2020-04-03 18:05:34 · 425 阅读 · 0 评论 -
Linux应用程序开(day13) ──fork()与vfork()、exec函数族
内容: fork()与vfork() fork()与vfork() 1.fork()函数的执行次序是不确定的,是由操作系统进行调度的,而vfork()的执行次序是确定的,先执行子进程,再执行父进程。 2.fork()函数创建的子进程是拷贝父进程然后重新开辟地址空间的,而vfork是子进程和父进程共享地址空间。 下面我们进行实验说明: #include <stdio.h> #incl...原创 2020-04-01 16:43:42 · 556 阅读 · 0 评论 -
Linux应用程序开(day12) ──再探fork()、孤儿进程及初探无名管道
内容: fork()函数深入理解 孤儿进程 无名管道 fork()函数: 实例代码: #include <stdio.h> #include <sys/types.h> #include <unistd.h> #include <stdlib.h> void main(){ pid_t pid; int i; for(i=0;i<3...原创 2020-03-31 16:00:03 · 388 阅读 · 0 评论 -
Linux应用程序开(day11) ── 进程与线程
Linux应用程序开(day11) ── 进程与线程 今天突发奇想记录一下我每天的学习内容和做作业的内容,以后我会每天更新,请原谅以前的内容我没有补上。 上课内容 今天学习的内容基本上只有三个,sleep()、wait()、waitpid()。下面进行一一总结,内容可能有些浅显,大家凑活着看。 1.sleep(): unsigned int sleep(unsigned int sec); 功...原创 2020-03-30 17:33:52 · 922 阅读 · 0 评论 -
Linux应用程序开 ──进程管理(实验)
要求:编写程序实现进程的管道通信。使用系统调用pipe()建立一个管道,二个子进程P1和P2分别向管道各写一句话: Child 1 is sending a message! Child 2 is sending a message! 父进程从管道中读出二个来自子进程的信息并显示(要求先接收P1,再接收P2)。 初步理解:和以前的一个父进程创建两个子进程类似,这里只添加了一个先接收子进程1,再接收...原创 2020-04-04 10:47:43 · 1186 阅读 · 0 评论 -
Linux应用程序开(day16) ── 共享内存、信号
目录内容:共享内存获取共享内存标识符共享内存映射解除共享内存映射共享内存控制例程信号介绍基本操作kill()函数alarm()函数raise()函数pause()函数abort()函数信号处理函数信号集sigemptyset()函数sigfillset()函数sigismember()函数sigaddset()函数sigdelset()函数例程作业作业一作业二谢谢大家的观看,如有错误请指正,谢谢!...原创 2020-04-07 16:01:36 · 525 阅读 · 0 评论 -
Linux应用程序开(day14) ──系统调用与标准IO、文件描述符、命名管道
目录:内容:系统调用:open函数close函数write函数read函数标准IO:fopen函数fclose函数fwrite函数fread函数文件描述符:描述dup函数dup2函数命名管道(FIFO):描述:FIFO的创建FIFO的读写情况一:不指定O_NONBOLCK时只读和只写open的情况情况二:不指定O_NONBOLCK时read的情况小情况1:FIFO没有数据时read()会进入阻塞小...原创 2020-04-02 19:42:33 · 717 阅读 · 0 评论