實驗六 程序基礎

2022-06-04 22:51:13 字數 2113 閱讀 2127

專案內容

這個作業屬於哪個課程

這個作業的要求在**

學號-姓名

17041523-熊子彪

作業學習目標

1.掌握linux系統環境c語言程式設計概念 2.學習linux系統程序概念

1.請舉例說明靜態鏈結庫的建立與使用。

1、加法

2、加法

3、主函式

#ar -r libbase.a add.o sub.o #上面的兩條命令可以合併成一條

ar -t libbase.a #可以看到包裡所有的 .o 檔案

2.請舉例說明共享庫的建立與使用。

1、開始的目錄結構

2、 建立共享庫

3、 使用自己的共享庫

方式一:gcc -c main.c -i../include

#可以使用ldd檢視共享庫

3.程式設計實現乙個簡單檔案複製命令。

4.使用fork建立乙個子程序,程序建立成功後父子程序分別輸出不同的內容。

全緩衝: 全緩衝指的是系統在填滿標準io緩衝區之後才進行實際的io操作;

行緩衝: 在這種情況下,標準io在輸入和輸出中遇到換行符時執行io操作;

5.使用fork建立多個子程序。

分析下面這段**

int i;

pid_t pid;

for (i = 0; i < 3; i++)

pid = fork();

上面**段會產生多少子程序?

答:7個。

6.在 fork 之前以寫的方式建立了乙個檔案 test.txt。然後 fork 出的子程序立即向檔案中寫入「world」,然後睡眠5秒。而父程序在 fork 後睡眠3秒後向 test.txt 寫入 "hello",並關閉描述符。子程序恢復後,又向 test.txt 檔案中寫入 "lalala"後關閉描述符,結束。

7.分別在主函式中使用execvp啟動ls命令以及使用fork函式產生子程序呼叫execvp啟動ls

1、 使用execvp啟動ls命令

2、使用fork函式產生子程序呼叫execvp啟動ls

8.建立5個殭屍程序,並在終端通過ps axf命令檢視殭屍程序資訊。

ps axf:顯示程序見關聯的樹狀結構圖 (另開一終端輸入)

9.通過wait來清理殭屍程序。

10.父程序通過waitpid函式等待特定子程序結束,若該子程序不結束,父程序一直阻塞。

實驗六 程序基礎

專案 這個作業屬於哪個課程 這個作業的要求在 學號 姓名 17041410 陳星宇 作業學習目標 1 掌握linux系統環境c語言程式設計概念 2 學習linux系統程序概念 一 請舉例說明靜態鏈結庫的建立與使用。ar 建立,修改檔案或從檔案中抽取成員 ar r 替換歸檔檔案中已有的檔案或加入新檔案...

實驗六 程序基礎

專案 內容這個作業屬於哪個課程 這個作業的要求在 學號 姓名 17043117 呂東 作業學習目標 1.掌握linux系統環境c語言程式設計概念學習2.linux系統程序概念 1.請舉例說明靜態鏈結庫的建立與使用 2.請舉例說明共享庫的建立與使用。3.程式設計實現乙個簡單檔案複製命令。4.使用for...

實驗六 程序基礎

專案 內容這個作業屬於哪個課程 這個作業的要求在 學號 姓名 17043133 木騰飛 作業學習目標 1 掌握linux系統環境c語言程式設計概念學習 2 linux系統程序概念 1 請舉例說明靜態鏈結庫的建立與使用 2 請舉例說明共享庫建立與使用 3 程式設計實驗乙個簡單檔案複製命令 4 使用fo...