Linux程式設計基礎(第二章作業)

2021-10-10 13:28:26 字數 2689 閱讀 8039

一、解釋shell命令

1、gcc hello.c -o hello:用gcc編譯器編譯hello.c原始檔,生成名為hello的可執行檔案。

2、./hello:執行當前資料夾下的hello檔案

3、gdb hello:啟動gdb除錯hello程式

二、解釋程式中指定的句子的功能

1、$(cc) $^ -o $@

將所有不重複的依賴檔案編譯編譯成可執行檔案,以目標檔案的完整名稱命名。

2、fd=open(「temp.log」,o_rdonly);

以唯讀方式開啟當前資料夾下的temp.log檔案。

size=read(fd,buffer,sizeof(buffer));

將讀取到的檔案內容儲存到buffer指定的字串陣列中,返回讀取的字元個數。

3、file*fp=fopen(「recfile」,「w」);

定義乙個名為fp的feil型別指標,用來呼叫fopen()函式,以只寫方式開啟當前目錄下的recfile檔案,如果開啟成功,將檔案起始位置位址返回給fp指標,否則返回null。

4、execlp(「ps」,「ps」,"-ef",null);

execlp()從path 環境變數所指的目錄中查詢ps命令程式並執行,以全格式檢視當前所有程序。

5、pid_w=waitpid(pid,null,wnohang);

父程序以非阻塞方式等待子程序結束,若有子程序退出,則waitpid返回子程序識別碼pid;若沒有子程序推出,則waitpid返回0。

6、int ret = mkfifo(write_fifo_name,s_irusr | s_iwusr);

建立名為write_fifo_name的fifo有名管道檔案,乙個程序擁有讀許可權,乙個程序擁有寫許可權。

三、使用c語言程式設計完成以下功能

(害,就是書上的程式!)

(1)使用fork建立程序;

子程序使用基本io函式建立可讀可寫檔案test.txt,寫入「姓名+學號」字串;

父程序從test.txt讀出檔案內容,並顯示出來。最後呼叫wait清理子程序。

#include

#include

#include

#include

#include

#include

#include

intmain

(void)if

(pid ==0)

/*向該檔案寫入字串*/

write

(fd,s,

sizeof

(s))

;close

(fd);}

else

fd =

open

("test.txt"

,o_rdonly,s_irwxu);if

(-1== fd)

size =

read

(fd,buffer,

sizeof

(buffer));

close

(fd)

;printf

("%s"

,buffer)

;

pid_w=

wait

(null);

return0;

}}

(2)父程序通過匿名管道向子程序寫入「姓名+學號」字串,子程序從管道讀取資料並顯示。

#include

#include

#include

#include

#include

#include

intmain()

if((childpid=

fork()

)==-1

)if(childpid ==0)

else

return(0

);}

(3)makefile我把兩個c檔案同時編譯的,只寫乙個程式的話刪掉多餘的就可^ - ^

#makefile

cc=gcc

all:homework3_2 homework3_1

.phony:all

homework3_2 :ujung/homework3_2.o

$(cc)

-o $@ $<

homework3_1 :ujung/homework3_1.o

$(cc)

-o $@ $<

yue/homework3_2.o:ujung/homework3_2.c

$(cc)

-o $@ -c $<

yue/homework3_1.o:ujung/homework3_1.c

$(cc)

-o $@ -c $<

clean:

rm -rf homework3_2 homework3_1 ujung/homework3_2.o ujung/homework3_1.o

.phony:all clean

Linux第二章作業

答 不是一定要有很高的配置才能安裝linux 因為linux系統是非常穩定和高效的,對電腦硬體配置要求很低,這正是linux系統的優勢所在,不同的linux系統版本要求略有不同,但是大體上在同乙個配置等級內,而且當下主流的配置都可以輕鬆執行linux系統,對於規模很小的主機系統大致的需要有 cpu ...

Linux第二章作業

一 linux對於硬體的要求是什麼?是否一定要有很高的配置才能安裝linux 答 1.cpu 要求至少是pentium系列的 2.硬碟空間 依據使用者的選擇安裝方式的不同,所需的硬碟空間也不相同。3.記憶體 以文字方式安裝,記憶體至少需要64mb 以圖形化方式安裝至少要128mb。4.顯示卡 型號和...

第二章程式設計基礎

2 1 程式設計設計方法和風格 如何形成良好的程式設計風格 1 源程式文件化 2 資料說明的方法 3 語句的結構 4 輸入和輸出。注釋分序言性注釋和功能性注釋 語句結構清晰第 一 效率第二。2 2 結構化程式設計 結構化程式設計方法的四條原則是 1.自頂向下 2.逐步求精 3.模組化 4.限制使用 ...