目錄 1. 無處不在的系統調用 1.1 系統調用和庫函數的區別? 1.2 調用的簡單過程 2. C標准庫的文件IO函數 2.1 fopen 打開文件 2.2 按字符讀寫 fgetc、fputc 2.3 按行 ...
前言 在學習C語言時,我們接觸過如fopen fclose fseek fgets fputs fread fwrite等函數,實際上,這些函數是對於底層系統調用的封裝。C默認會打開三個輸入輸出流,分別是stdin,stdout,stderr。執行man stdin后,會展示如下描述: 可以看到,這三個流類型都是FILE ,也就是說指向了某個文件。實際上,以上三者分別對應的文件為鍵盤 顯示器 顯示 ...
2021-11-08 08:31 0 247 推薦指數:
目錄 1. 無處不在的系統調用 1.1 系統調用和庫函數的區別? 1.2 調用的簡單過程 2. C標准庫的文件IO函數 2.1 fopen 打開文件 2.2 按字符讀寫 fgetc、fputc 2.3 按行 ...
Linux思想即,Linux系統下一切皆文件。 一、對文件操作的幾個函數 1.打開文件open函數 int open(const char *path, int oflags); int open(const char *path, int oflags,mode_t mode ...
什么是IO? 輸入/輸出是主存和外部設備之間拷貝數據的過程 設備->內存(輸入操作) 內存->設備(輸出操作) 高級I/O ANSI C提供的標准I/O庫稱為高級I/O,通常也稱為 ...
使用Linux的文件API,經常看見一個東西,叫做文件描述符. 什么是文件描述符? (1)文件描述符其實實質是一個數字,這個數字在一個進程中表示一個特定的含義,當我們open打開一個文件時,操作系統在內存中構建了一些數據結構來表示這個動態文件,然后返回給應用程序一個數字作為文件描述符,這個數 ...
1.進程間通信介紹 1.1 進程通信的基本概念 在之前我們已經學習過進程地址空間。Linux 環境下,進程地址空間相互獨立,每個進程各自有不同的用戶地址空間。任何一個進程的全局變量在另一個進程中都看不到,所以進程和進程之間不能相互訪問,要交換數據必須通過內核,在內核中開辟一塊緩沖區,進程 ...
之前在學習回收子進程的時候,關於“回收指定子進程”一直拎不清,今日終於頓悟,寫此博客,記錄之。 之前錯誤代碼,在循環創建的五個子進程中,指定回收第三個: 錯誤分析: 從打 ...
注:本文部分圖片來源於網絡,如有侵權,請告知刪除 1. 什么是進程? 在了解進程概念之前,我們需要先知道程序的概念。 程序,是指編譯好的二進制文件,這些文件在磁盤上,並不占用系統資源。 進程,指的是一個程序的執行實例,是操作系統分配系統資源的單位,這里的系統資源有CPU時間,內存等。當程序 ...
一,什么是中斷? 1.中斷的基本概念 中斷是指計算機在執行期間,系統內發生任何非尋常的或非預期的急需處理事件,使得CPU暫時中斷當前正在執行的程序而轉去執行相應的事件處理程序,待處理完畢后又返回原來被中斷處繼續執行或調度新的進程執行的過程。引起中斷發生的事件被稱為中斷源。中斷源向CPU發出 ...