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

正文內(nèi)容

uclinux下應(yīng)用程序開發(fā)-wenkub

2023-05-24 11:59:07 本頁面
 

【正文】 系列的規(guī)則 , 如下: 目標文件名 : 依賴文件名 (tab鍵 ) 命令 第一行稱之為規(guī)則,第二行是執(zhí)行規(guī)則的命令,必須要以 tab鍵開始。有了這些信息, make 會檢查磁盤的文件,如果目標文件的日期 (即該文件生成或最后修改的日期 )至少比它的一個依賴文件日期早的話, make 就會執(zhí)行相應(yīng)的命令,以更新目標文件。如果命令行中沒有指定目標,則系統(tǒng)默認 target指向描述文件中第一個目標文件。 I dir 當包含其他 makefile文件時,利用該選項指定搜索目錄。 q make操作將根據(jù)目標文件是否已經(jīng)更新返回 0或非 0的狀態(tài)信息。 s 沉 默模式 , 在執(zhí) 行之前 不輸出 相應(yīng)的 命令行 信息 。f39。 其標準形式為: make [flags] [macro definitions] [targets] Unix系統(tǒng)下標志位 flags選項及其含義為: f file 指定 file文件為描述文件,如果 file參數(shù)為 39。 elf格式由若干段 (section)組成,如果沒有特別指明,由標準 c源代碼生成的目標文件中包含以下段: .text(正文段 ) 包含程序的指令代碼, .data(數(shù)據(jù)段 )包含固定的數(shù)據(jù),如常量,字符串等, .bss(未初始化數(shù)據(jù)段 ) 包含未初始化的變量和數(shù)組等。有時候在編譯程序的時候還要指定庫的路徑,這個時候要用到編譯器的 L選項指定路徑。它具體完成哪一步,是由 gcc后面的開關(guān)選項和文件類型決定的 gcc編譯器有許多選項 , 但對于普通用戶來說只要知道其中常用的幾個就夠了 。 gcc 是一個多目標的工具 。 例如下面一個非常簡單的 Hello源程序(): /********************************** * File Name: * Description: introduce how to pile a source file with gcc * Author: Xueyuan Nie * Date: *********************************/ void main() { printf(Hello the world\n); } 要編譯這個程序 , 我們只要在 Linux的 bash提示符下輸入命令: $ gcc o hello gcc 編譯器就會生成一個 hello的可執(zhí)行文件。 很多流行的自由軟件源代碼基本都能在 GCC編譯器下編譯運行 。 一旦學(xué)習和掌握了相關(guān)工具后 , 就了解了系統(tǒng)設(shè)計的基礎(chǔ)知識 。開發(fā)工具 GNU的使用 GNU軟件包括 C編譯器 GCC, C++編譯器 G++, 匯編器 AS, 鏈接器 LD, 二進制轉(zhuǎn)換工具 (OBJCOPY, OBJDUMP), 調(diào)試工具 (GDB, GDBSERVER, KGDB) 和基于不同硬件平臺的開發(fā)庫 。 運行于 Linux操作系統(tǒng)下的自由軟件 GNU gcc編譯器 , 不僅可以編譯 Linux操作系統(tǒng)下運行的應(yīng)用程序 , 還可以編譯 Linux內(nèi)核本身 ,甚至可以作交叉編譯 , 編譯運行于其它 CPU上的程序 。 所以掌握 GCC編譯器的使用無論是對于編譯系統(tǒng)內(nèi)核還是自己的應(yīng)用程序都是大有好處的 。在 行 ./hello就可以看到程序的輸出結(jié)果,在屏幕上打印出 “ Hello the world”的字符串來。 gcc最基本的用法是: gcc [options] file... 其中的 option是以 開始的各種選項, file是相關(guān)的文件名。 在這里為讀者列出幾個最常用的選項: o選項表示要求編譯器生成指定文件名的可執(zhí)行文件; c選項表示只要求編譯器進行編譯 , 而不要進行鏈接 ,生成以源文件的文件名命名但把其后綴由 .c或 .cc變成 .o的目標文件; g選項要求編譯器在編譯的時候提供以后對程序進行調(diào)試的信息; E選項表示編譯器對源文件只進行預(yù)處理就停止 , 而不做編譯 , 匯編和鏈接; S選項表示編譯器只進行編譯 , 而不做匯編和鏈接; O選項是編譯器對程序提供的編譯優(yōu)化選項 , 在編譯的時候使用該選項 , 可以使生成的執(zhí)行文件的執(zhí)行效率提高; Wall 選項指定產(chǎn)生全部的警告信息 。比如說我們有一個庫在 /home/hoyt/mylib下,這樣我們編譯的時候還要加上 L/home/hoyt/mylib。 當改變了源文件 , 需要重新編譯它: $gcc c 然后重新鏈接生成: $gcc –o 對于本例,因為只含有一個源文件,所以當改動了源碼后,進行重新的編譯鏈接的過程顯得并不是太繁瑣,但是,如果在一個工程中包含了若干的源碼文件,而這些源碼文件中的某個或某幾個又被其他源碼文件包含,那么,如果一個文件被改動,則包含它的那些源文件都要進行重新編譯鏈接,工作量是可想而知的。39。 參數(shù),則系統(tǒng)將默認當前目錄下名為 makefile或者名為 Makefile的文件為描述文件。 r 禁止使用隱含規(guī)則 。 p 輸出所有宏定義和目標文件描述。 h help文擋,顯示所有的 make選項。 make如何實現(xiàn)對源代碼的操作是通過一個被稱之為 makefile的文件來完成的,在下面的小節(jié)里,主要向讀者介紹一下makefile的相關(guān)知識 makefile基本結(jié)構(gòu) GNU Make 的主要工作是讀一個文本文件 makefile。 makefile一般被稱為 “ makefile”或 “ Makefile”。 下面舉一個簡單的 makefile的例子。make先找到了關(guān)于 的規(guī)則,該目標文件的依賴文件是 。 現(xiàn)在, 再回到第一個規(guī)則處,如果剛才兩個規(guī)則中的任何一個被執(zhí)行,最終的目標文件 executable都需要重建 (因為executable所依賴的其中一個 .o 文件就會比它新 ),因此鏈接命令就會被執(zhí)行。 要定義一個宏 , 在 makefile中 , 任意一行的開始寫下該宏名 , 后面跟一個等號 , 等號后面是要設(shè)定的這個宏的值 。 $ 擴展為當前規(guī)則的目標文件名; $ 擴展為當前規(guī)則依賴文件列表中的第一個依賴文件; $? 擴展為所有的修改日期比當前規(guī)則的目標文件的創(chuàng)建日期更晚的依賴文件 , 該值只有在使用顯式規(guī)則時才會被使用; $* 擴展成當前規(guī)則中目標文件和依賴文件共享的文件名 , 不含擴展名; $^ 擴展為整個依賴文件的列表 (除掉了所有重復(fù)的文件名 )。一個C編譯的具體命令將 會是: $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) c $ o $ 在 make 工具中所包含的這些內(nèi)置的或隱含的規(guī)則 , 定義了如何從不同的依賴文件建立特定類型的目標 。同時可用來定義目標和依賴文件之間的關(guān)系,例如下面的模式規(guī)則定義了如何將任意一個 .c 文件轉(zhuǎn)換為文件名相同的 .o 文件: %.o : %.c $(CC) $(CFLAGS) $(CPPFLAGS) c o $ $ 偽目標 如果需要最終產(chǎn)生兩個和更多的可執(zhí)行文件 , 但這些文件是相互獨立的 , 也就是說任何一個目標文件的重建 , 不會影響其他目標文件 。 舉一個簡單的例子,如果 makefile 開始處輸入 all : executable1 executable2 這里 executable1和 executable2是最終希望生成的兩個可執(zhí)行文件。all39。 的實際文件上 (事實上, all 也不會實際生成 ),所以這個規(guī)則并不真的改變 39。 偽目標在 makefile中廣泛使用 函數(shù) makefile 里的函數(shù)跟它的宏很相似,在使用的
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1