• 2014025678《嵌入式系统程序设计》第七周学习总结


    有名管道

    有名管道可以将两个互不相关的进程实现彼此的通信,

    可以通过路径名来指出,并且在文件系统中是可见的。

    读进程

    1.若管道是阻塞打开,且FIFO内无数据,则读进程一直堵塞下去,直到有数据写入。
    2.不是阻塞打开,不管有没有数据,会立即执行。

    写进程

    阻塞打开,跟读进程一样,直到有东西写入

    2.mkififo()函数

    函数原型

    int mkfifo( const char *pathname, mode_t mode );
    参数:
    可以看出这个函数有需要两个参数。
    第一个参数在系统中创建一个文件。
    第二个参数写FIFO权限。
    返回值:
    成功返回值为0。
    失败返回值为-1。

    注意:
    对命名管道,除非写入方主动打开管道的读取端,否则读取方是无法打开命名管道的。
    Open调用执行后,读取方将被锁住。
    接收和发送是要在两个终端中进行的。首先要启动读管道,然后再启动写管道,如果读的时候没有启动,会一直阻塞。




    其实在很多程序中都会出现类似的情况,因此为了方便,我们在编写程序时都把常用的头文件加上,或者将常用的头文件和函数编写到一个自定义的头文件中。
    警告:隐式声明与内建函数 ‘memset’ 不兼容 Linux Programmer’s Manual MEMSET(3)

    NAME
    memset - fill memory with a constant byte

    SYNOPSIS
    #include <string.h>
    后来发现不是头文件的问题,而是需打开两个终端



    本周学的

  • 相关阅读:
    Mysql 单表查询-排序-分页-group by初识
    Mysql 单表查询where初识
    Mysql 库表操作初识
    Mysql 常见数据类型及约束
    数据库 初识
    Mysql 游标初识
    Mysql 控制结构初识
    Mysql 存储过程初识
    单链表-Python实现-jupyter->markdown 格式测试
    MySQL 触发器学习-markdown->html 格式测试
  • 原文地址:https://www.cnblogs.com/yangshuo123/p/6979632.html
Copyright © 2020-2023  润新知