【Linux编程实践教学(Bruce Molay)】第1章 Unix系统编程概述

1. Unix系统原理

  1. 计算机用操作系统来管理所有的资源,将不同设备与程序通过操作系统连接起来。从连接的角度来讲,键盘和显示卡直接连接到计算机的主板上,CPU和内存(设备)通过插槽直接连接到主板上,而操作系统相当于主板上的电路印刷板

  2. 操作系统也是程序,是一个特殊的程序,存储在内存中,该程序实现“将其他程序与设备连接起来”的功能。操作系统又叫内核kernel

  3. 内存是用来存放程序和数据的,存放操作系统这个程序的内存空间叫做系统空间,存放应用程序的内存空间叫做用户空间
    【Linux编程实践教学(Bruce Molay)】第1章 Unix系统编程概述

  4. more命令:打印输出文件内容 ;
    bc命令:将用户输入算是转化为逆波兰表达式传给远程dc,dc执行完后返回计算结果。

  5. Linux下main函数的参数:
    (1)argc:命令行参数的个数(包括最开始的可执行文件名称

    (2)argv(指针数组):字符指针的数组,每个元素都是一个指向字符串的字符指针,而字符串就是命令行中的每一个参数;
    数组长度与argc的值一样,代表命令行参数个数
    【Linux编程实践教学(Bruce Molay)】第1章 Unix系统编程概述

  6. FILE *fp;
    FILE是在stdio.h中定义的结构体类型,封装了与文件有关的信息,如文件句柄、位置指针及缓冲区等,缓冲文件系统为每个被使用的文件在内存中开辟一个缓冲区,
    用来存放文件的有关信息,这些信息被保存在一个FILE结构类型的变量中,fp是一个指向FILE结构体类型的指针变量。
    要想该指针指向一个文件,并操纵它,则需要:fp=fopen(xxxx) ;输入,输出,错误流可直接赋给fp指针。

  7. fgets函数—详见:fgets详解
    原型:fgets(s,n,stdin);
    假设在控制台下,我们可以用fgets(…)替代gets(),读入键盘输入的信息,fgets()是安全的,因为不会像gets()有溢出的可能。
    比如 :输入 abc
    fgets(s,n,stdin)也会读入n-1个字符。但是只是从stdin流读入。
    【Linux编程实践教学(Bruce Molay)】第1章 Unix系统编程概述【Linux编程实践教学(Bruce Molay)】第1章 Unix系统编程概述