freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

linux開(kāi)發(fā)基礎(chǔ)相關(guān)知識(shí)簡(jiǎn)介(文件)

 

【正文】 地址 string,因此,編譯并運(yùn)行之后,將出現(xiàn) Segment Fault 錯(cuò)誤: $ gcc o test g $ ./test Please input a string: asfd Segmentation fault (core dumped) 博創(chuàng)科技 嵌入互動(dòng) 169。 2023 博創(chuàng)科技 GNU make和 makefile ? GNU make概述 ? Makefile 的基本結(jié)構(gòu) ? Makefile中的變量 ? GNU make 的主要預(yù)定義變量 ? Makefile的隱含規(guī)則 ? make命令行選項(xiàng) ? 使用 automake和 autoconf產(chǎn)生 Makefile 博創(chuàng)科技 嵌入互動(dòng) 169。 ? 實(shí)際上, make 工具通過(guò)一個(gè)稱(chēng)為 makefile 的文件來(lái)完成并自動(dòng)維護(hù)編譯工作。 2023 博創(chuàng)科技 makefile舉例 ? 在 UNIX中,習(xí)慣使用 makefile 作為 makfile 文件。 2023 博創(chuàng)科技 Makefile 的基本結(jié)構(gòu)( 1/2) ? Makefile是一個(gè)文本形式的數(shù)據(jù)庫(kù)文件,其中包含一些規(guī)則來(lái)告訴 make處理哪些文件以及如何處理這些文件。 博創(chuàng)科技 嵌入互動(dòng) 169。 ? 一系列命今 (mand),是 make執(zhí)行的動(dòng)作,通常是把指定的相關(guān)文件編譯成目標(biāo)文件的編譯命令,每個(gè)命令占一行,且每個(gè)命令行的起始字符必須為 TAB字符。 2023 博創(chuàng)科技 Makefile實(shí)例( 1/3) 以 開(kāi)頭的為注釋行 test: gcc –o test : gcc –c –o : gcc –c –o clean: rm –f *.o ? 上面的 Makefile文件中共定義了四個(gè)目標(biāo): test、 、 clean。但要注意在續(xù)行號(hào)( \)后面不能跟任何字符(包括空格和鍵) 博創(chuàng)科技 嵌入互動(dòng) 169。 博創(chuàng)科技 嵌入互動(dòng) 169。當(dāng) make執(zhí)行完所有這些套嵌的規(guī)則后, make將處理最頂層的test規(guī)則。 ? 如果該規(guī)則中的依賴(lài)文件又是其他規(guī)則中的目標(biāo)文件,那么依照規(guī)則鏈不斷執(zhí)行這個(gè)過(guò)程,直到 Makefile文件的結(jié)束,至少可以找到一個(gè)不是規(guī)則生成的最終依賴(lài)文件,獲得此文件的時(shí)間戳 ? 然后從下到上依照規(guī)則鏈執(zhí)行目標(biāo)文件的時(shí)間戳比此文件時(shí)間戳舊的規(guī)則,直到最頂層的規(guī)則 ? 通過(guò)以上的分析過(guò)程,可以看到 make的優(yōu)點(diǎn),因?yàn)?.o目標(biāo)文件依賴(lài) .c源文件,源碼文件里一個(gè)簡(jiǎn)單改變都會(huì)造成那個(gè)文件被重新編譯,并根據(jù)規(guī)則鏈依次由下到上執(zhí)行編譯過(guò)程,直到最終的可執(zhí)行文件被重新連接。這些變量對(duì)大小寫(xiě)敏感,一般使用大寫(xiě)宇母。 ? 保存可執(zhí)行命令名,如編譯器。 ? 保存編譯器的參數(shù)。 2023 博創(chuàng)科技 變量的定義和使用 ? Makefile中的變量是用一個(gè)文本串在 Makefile中定義的,這個(gè)文本串就是變量的值。如果變量的值發(fā)生變化,就只需要在一個(gè)地方修改,從而簡(jiǎn)化了 Makefile的維護(hù)。 ? 需要注意的是,如果用戶(hù)在 Makefile中定義了同名的變量,用戶(hù)自定義變量將覆蓋同名的環(huán)境變量 ? 自動(dòng)變量 ? 預(yù)定義變量 博創(chuàng)科技 嵌入互動(dòng) 169。 ? $? 所有的依賴(lài)文件,以空格分開(kāi),這些依賴(lài)文件的修改日期比目標(biāo)的創(chuàng)建日期晚。例如,如果目標(biāo)名稱(chēng) 為 (),則 $ 為 ,而 $% 為 。 ? ASFLAGS 匯編程序的選項(xiàng)。 ? CPP C 預(yù)編譯器的名稱(chēng),默認(rèn)值為 $(CC) E。 ? FC FORTRAN 編譯器的名稱(chēng),默認(rèn)值為 f77。實(shí)際上,make可以使工作更加自動(dòng)化,也就是說(shuō), make知道一些默認(rèn)的動(dòng)作,它有一些稱(chēng)作隱含規(guī)則的內(nèi)置的規(guī)則,這些規(guī)則告訴 make當(dāng)用戶(hù)沒(méi)有完整地給出某些命令的時(shí)候,應(yīng)該怎樣執(zhí)行。 ? 綜上所述,一個(gè) C編譯的具體命令將會(huì)是: $ {CC} $ {CFLAGS} $ {CPPFLAGS} $ {TARGET_ARCH} –c $ o $ 博創(chuàng)科技 嵌入互動(dòng) 169。 ? GNU make 命令還有一些其他選項(xiàng),下面是 GNU make 命令的常用命令行選項(xiàng)命令行選項(xiàng)含義: ? C DIR 在讀取 makefile 之前改變到指定的目錄 DIR。 ? I DIR 當(dāng)包含其他 makefile 文件時(shí),可利用該選項(xiàng)指定搜索目錄。 ? w 在處理 makefile 之前和之后,顯示工作目錄。 博創(chuàng)科技 嵌入互動(dòng) 169。 2023 博創(chuàng)科技 使用 Autoconf 及 Automake 來(lái)產(chǎn)生 Makefile文件的步驟 ? autoscan 產(chǎn)生一個(gè) ,執(zhí)行 autoscan 后會(huì)產(chǎn)生一個(gè) 的文件,可以用它做為 : ? 編輯 ,如下所示,并且把文件名改成 ? 執(zhí)行 aclocal和 autoconf ,分別會(huì)產(chǎn)生 及 configure 兩個(gè)文件: ? 編輯 ,內(nèi)容如下: ? 執(zhí)行 automake addmissing , Automake 會(huì)根據(jù) 文件,包含最重要的 : ? 最后執(zhí)行 ./configure 博創(chuàng)科技 嵌入互動(dòng) 169。 ? RCS提供了如下幾個(gè)最重要的指令的: ? ci指令:將文件放入 RCS目錄下的控制系統(tǒng) ? co指令:從 RCS目錄下將文件取出 ? rcs指令:用來(lái)對(duì) RCS文件進(jìn)行參數(shù)的設(shè)置 博創(chuàng)科技 嵌入互動(dòng) 169。 2023 博創(chuàng)科技 指定版本 ? 若不指定版本編號(hào)時(shí), co會(huì)從 RCS取得最新的版本。 2023 博創(chuàng)科技 關(guān)鍵詞的使用 ? 在 RCS中可以將關(guān)鍵詞變量放入程序代碼中。 ? $Data$:記錄程序代碼放入 RCS時(shí)的日期和時(shí)間。 ? $Log$:記錄將 RCS鎖住的時(shí)間,所輸入的文本語(yǔ)句。 ? $State$:使用 s選項(xiàng)所指定的特殊狀態(tài) 博創(chuàng)科技 嵌入互動(dòng) 169。例如,當(dāng)軟件修改時(shí)會(huì)產(chǎn)生 Bug,并且可能在做這次修改后很長(zhǎng)時(shí)間不會(huì)發(fā)現(xiàn)這些問(wèn)題。它僅僅保留版本間的不同內(nèi)容。通常, CVS有兩種使用方式,一是本機(jī)方式,一是遠(yuǎn)程執(zhí)行方式。它包括要管理的源代碼和用于管理源代碼的各種管理文件 ? 先設(shè)置環(huán)境變量 CVSROOT,指向信息倉(cāng)庫(kù)的絕對(duì)路徑,然后調(diào)用 CVS的init命令: CVSROOT=/usr/local/cvsroot。而如果在開(kāi)始使用源文件之前該目錄就已經(jīng)存在,則只需進(jìn)入該目錄就行了。 2023 博創(chuàng)科技 命令簡(jiǎn)介 ——導(dǎo)出源文件 ( 1/2) ? cvs checkout [r rev][D date][d dir][j merg1] [j merg2] modules r 導(dǎo)出指定版本的模塊 D 導(dǎo)出指定日期的模塊 d 導(dǎo)出指定目錄而不是模塊 j 合并當(dāng)前版本和指定版本 ? 使用下面的命令會(huì)導(dǎo)出剛才生成的模塊,并在當(dāng)前目錄下生成與文件倉(cāng)庫(kù)中完全一樣的目錄結(jié)構(gòu): cvs checkout cvstest/c 博創(chuàng)科技 嵌入互動(dòng) 169。 ? cvs remove [options] files ? 上述命令會(huì)從文件倉(cāng)庫(kù)中刪除文件,但也要到提交之后才有作用 博創(chuàng)科技 嵌入互動(dòng) 169。如果在CVS 文件倉(cāng)庫(kù)中有一個(gè)文件 ,它的版本是 ,用戶(hù) A 先檢出該文件進(jìn)行修改,而稍后有用戶(hù) B檢出該文件進(jìn)行修改,并提前提交成 ,而在用戶(hù) A再提交時(shí)就會(huì)出現(xiàn)沖突(如果文件內(nèi)容不同的話(huà)) ? 這時(shí) CVS會(huì)提示需要手工解決。 2023 博創(chuàng)科技 文件版本管理 (3/3) ? 要訪(fǎng)問(wèn)一個(gè)分支版本,可以使用“ r” 選項(xiàng) cvs checkout –r tlb1 SOURCE ? 從當(dāng)前檢出的版本切換到一個(gè)分支版本: cvs update –r tlb1 SOURCE ? 使用下面的命令可以看版本信息: cvs status [–vlR] files ? v 顯示所有信息 ? l 不顯示子目錄信息 ? R 顯示子目錄信息 ? cvs update –j rev module 把當(dāng)前所做的修改與指定版本的文件進(jìn)行合并。 2023 博創(chuàng)科技 演講完畢,謝謝觀(guān)看! 。 2023 博創(chuàng)科技 在遠(yuǎn)程機(jī)器上使用 CVS ? 通過(guò)網(wǎng)絡(luò)使用 CVS 有很多種方式,但在這里只介紹比較簡(jiǎn)單的一種:通過(guò) rsh 執(zhí)行 cvs 命令。 2023 博創(chuàng)科技 文件版本管理 (1/3) ? cvs log [lR][r rev][d date][w login][files…] ? l 不處理子目錄 ? R 對(duì)子目錄做同樣處理 ? r 指定版本號(hào) ? d 指定時(shí)間 ? w 指定登錄名 ? 使用上面的命令可以參看當(dāng)前模塊或指定文件的所有歷史版本信息 ? cvs annotate [lR][r rev|D date] files ? l 不處理子目錄 ? R 對(duì)子目錄做同樣處理 ? r 指定版本號(hào) ? 使用上面的命令可以參看指定文件(檢出之后)的所有修改信息 博創(chuàng)科技 嵌入互動(dòng) 169。 2023 博創(chuàng)科技 命令簡(jiǎn)介 ——釋放工作目錄 ? cvs release –d SOURCE ? 這個(gè)命令會(huì)刪除工作目錄 cvstest/c(建議在提交了修改的模塊后執(zhí)行這一步),比使用 rm –rf cvstest 要好 博創(chuàng)科技 嵌入互動(dòng) 169。 博創(chuàng)科技 嵌入互動(dòng) 169。 其中 m用來(lái)指定注釋信息,如果后面在命令行不指定注釋信息,則會(huì)啟動(dòng)缺省編輯器( vi)要求輸入注釋信息; cvstest/c是項(xiàng)目名稱(chēng)(實(shí)際上是倉(cāng)庫(kù)名,在 CVS服務(wù)器上會(huì)存儲(chǔ)在以這個(gè)名字命名的倉(cāng)庫(kù)里); wu, cvstest分別標(biāo)識(shí)了作者和發(fā)行標(biāo)識(shí)。 2023 博創(chuàng)科技 添加項(xiàng)目的文件、目錄到信息倉(cāng)庫(kù) ? 要將需要管理的項(xiàng)目的文件加入到信息倉(cāng)庫(kù),并做上標(biāo)志。 2023 博創(chuàng)科技 開(kāi)始項(xiàng)目 ? 用 CVS管理代碼,首先要?jiǎng)?chuàng)建一個(gè)“信息倉(cāng)庫(kù)”。每一個(gè)開(kāi)發(fā)者的工作都在他自己的目錄內(nèi),并且CVS將在每個(gè)開(kāi)發(fā)者的工作完成后進(jìn)行合并工作。 ? 如果 CVS保留每一次的代碼版本,會(huì)浪費(fèi)很多的空間。在取出的過(guò)程中, co會(huì)將每個(gè)關(guān)鍵詞展開(kāi)成其對(duì)應(yīng)的值 [rootwyh linux] co l [rootwyh linux] cat 博創(chuàng)科技 嵌入互動(dòng) 169。 ? $Rivision$:指定版本號(hào)碼。 ? $ID$:和 $Header$相同,但不包括 RCS路徑名稱(chēng)。用戶(hù)可以將這些關(guān)鍵詞說(shuō)明當(dāng)作是程序中的批注。 ? [rootwyh linux] ci l 以 ? [rootwyh linux] co l 將 RCS中 ? 此外, rcsdiff也可以用來(lái)指定任何一個(gè)版本和當(dāng)前程序代碼進(jìn)行比較。所以第一步必須要在當(dāng)前的目錄下制作一個(gè)文件: [rootwyh linux] mkdir RCS ? 接下來(lái)只要使用 ci指令。 2023 博創(chuàng)科技 RCS的使用 ? RCS( Revision Control System)即程序改版控制系統(tǒng),主要功能是用來(lái)管理文件的版本,可以節(jié)省空間和時(shí)間。 ? return 0。 博創(chuàng)科技 嵌入互動(dòng) 169。 ? p 顯示 make 變量數(shù)據(jù)庫(kù)和隱含規(guī)則。 ? h 顯示所有的 make 選項(xiàng)。 2023 博創(chuàng)科技 make命令行選項(xiàng) ? 直接在 make 命令的后面鍵入目標(biāo)名可建立指定的目標(biāo),如果直接運(yùn)行 make,則建立第一個(gè)目標(biāo)。由于這些命令會(huì)使用一些變量,因此可以通過(guò)改變這些變量來(lái)定制 make。 博創(chuàng)科技 嵌入互動(dòng) 169。 CX
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1