本章內容對應視頻講解鏈接(在線觀看):![]() 什么是 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 表示的是命令行中的參數。 更多內容:嗶哩嗶哩搜索-北京迅為,可以學習更多內容 |