本章内容对应视频讲解链接(在线观看):
什么是 Linux 系统编程呢?Linux 系统编程也叫 Linux 下的高级编程。是介于应用层和驱动层之间的。内核向用户提供的接口。本章讲述编写 Linux 系统应用层软件常用的一些技术,包括文件 IO,标准 IO,进程线程操作。这些运行在系统应用层的程序直接与内核和系统核心库进行交互,只能在 Linux 上运行,不能跨
平台,也就是不能运行在其他操作系统上(比如 windows)。Linux 根据 UNIX 发展而来,属于类 UNIX 操作系统,拥有 UNIX 特点,但是 Linux 作为开源软件更专注实用功能,支持更多的系统调用,从而拥有更多的新特性。
学习系统编程可以使用 man 手册查看 API,查找用到的头文件,如“man 2 open”,使用“top”等命令查看进程状态。本文档主要通过实验例程来说明各系统调用 API 和各种机制的用法。
在开始系统编程前首先要搭建环境,大家可以参考本手册第二十四章安装 Samba,首先我们来了解下Linux 系统编程的基本程序框架。Samba 搭建好之后,我们在 samba 文件夹下新建 linux 文件夹,如下图所示:
首先来编写下 Linux 系统编程的基本程序框架,在 linux 文件夹下新建 01 文件夹,01 文件夹里面新建test.c 文件,内容如下所示。代码在配套资料“系统编程配套程序/01”目录下。
我们在 Ubuntu 的 Samba 目录下输入以下编译 test.c,如下图所示编译生成了 a.out。
gcc test.c
ls
此时 main()函数是没有参数的,但是我们在学习 Linux 系统编程的时候,大多数 main 函数都是带参数的,因为我们要配合命令行来给我们的程序传参数。大部分情况下,main 函数的参数为 int argc,char *argv[]。argc 表示的命令行中参数的个数。argv 表示的是命令行中的参数。
更多内容:哔哩哔哩搜索-北京迅为,可以学习更多内容