zoukankan      html  css  js  c++  java
  • Understanding Unix/Linux Programming-文件、设备和流

    每个设备文件都支持系统调用 ioctl:

    • 目标:控制一个设备
    • 头文件:#include<sys/ioctl.h>
    • 函数原型:int result = ioctl(int fd , int operation [,arg...]);
    • 参数
      • fd : 文件所关联的文件描述符
      • operation:操作类型
      • arg:可选参数
      • result:-1即错误;0即正确;

      实际上,任何数据的源或者目的地都被Unix视为文件来处理,基本的系统调用既支持磁盘文件,也适用于设备文件。它们的区别体现在对于连接的操作上。磁盘文件的文件描述符包含对缓冲属性和扩展属性的定义代码;而终端的文件描述符包含编辑、回显、字符转换和其他操作的定义代码。

      可以吧每个处理步骤看作是连接的属性,也可以把连接看作是处理步骤的组合。

      基础的数据流模型的一个重要特征是处理的模块化,如果不满意仅能支持像大小写转换这样的终端驱动程序,可以设计安装一个可将数字转换为罗马数字的模块,不过我就不编了哈(逃)。

      另外,Unix/Linux编程实践看了150页左右,虽然只是跟着书编写了书中现有的代码,没有多做练习,但是还是觉得对与系统的了解加深了不少啊,过完这本书再去肯操作系统,哈哈哈,不知道顺序有没有弄反。

  • 相关阅读:
    LoadLibrary And GetProcAddress And FreeLibrary
    Preprocessor Directives
    Pragma Directives
    How to use Union in c++?
    WhiteSpace
    Export Class and Struct
    Two Ways To Export from a DLL
    Know more about the organization of solution and project
    Cygwin
    二叉树及其应用
  • 原文地址:https://www.cnblogs.com/NJdonghao/p/5285214.html
Copyright © 2011-2022 走看看