中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

有哪些好的做兼職網(wǎng)站百度2022年版本下載

有哪些好的做兼職網(wǎng)站,百度2022年版本下載,python如何做簡單的網(wǎng)站,做微網(wǎng)站需要域名嗎一、什么是makefile/make 會不會寫makefile,從一個側(cè)面說明了一個人是否具備完成大型工程的能力 一個工程中的源文件不計數(shù),其按類型、功能、模塊分別放在若干個目錄中,makefile定義了一系列的 規(guī)則來指定,哪些文件需要先編譯&am…

一、什么是makefile/make

會不會寫makefile,從一個側(cè)面說明了一個人是否具備完成大型工程的能力 一個工程中的源文件不計數(shù),其按類型、功能、模塊分別放在若干個目錄中,makefile定義了一系列的 規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進行更復雜 的功能操作 makefile帶來的好處就是——“自動化編譯”,一旦寫好,只需要一個make命令,整個工程完全自動編 譯,極大的提高了軟件開發(fā)的效率。 make是一個命令工具,是一個解釋makefile中指令的命令工具,一般來說,大多數(shù)的IDE都有這個命 令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make??梢?#xff0c;makefile都成為了一 種在工程方面的編譯方法。 make是一條命令,makefile是一個文件,兩個搭配使用,完成項目自動化構(gòu)建。

而make則是指令,makefile里保存的是依賴關系和依賴方法。

1.1makefile文件的編寫

首先我們先touch一個makefile.c的文件,以往我們需要在命令行進行g(shù)cc去手動編譯形成可執(zhí)行程序,但通過makefile文件我們可以很好的釋放自己的雙手。

第一行表明依賴關系:要形成的文件為mybin,依賴文件為沒有test.c。冒號的左邊被稱為目標文件,右邊為依賴文件列表

第二行則是要執(zhí)行的指令即依賴方法,使用gcc編譯器形成mybin文件,源文件為mytest.c。

這樣我們直接調(diào)用make指令就可以形成名為mymakefile的可執(zhí)行程序。

然后運行mymakefile,就可以執(zhí)行剛剛自己編寫的makefile.c的程序了。

當我們再次make時,因為已經(jīng)生成了可執(zhí)行程序,而且我們對依賴文件并沒有進行修改,所以這里就會make失敗。此時如果我們對依賴文件做出修改就可以重新編譯成功。

1.2makeclean

那我們?nèi)绾吻謇眄椖磕?#xff1f;

我們可以通過設置自動化清理make clean來刪除剛剛生成的可執(zhí)行文件。

這時如果我們將 clean與mymakefile調(diào)換位置,再次去make就默認去調(diào)用clean。

所以make和Makefile形成目標文件的時候,默認時從上到下掃描makefile文件的,默認形成的時第一個目標文件。

那make和makefile怎么知道可執(zhí)行程序即依賴文件是不是最新的呢?是通過對比時間對比出來的,只要可執(zhí)行程序最近的修改時間比所有源文件的最近修改時間新,就說明它就是最新的。在邏輯上可執(zhí)行和源文件的時間是不可能一樣的。

1.3文件時間

stat查看文件詳細信息可以看到時間。

文件=內(nèi)容+屬性,如果對內(nèi)容更新,Modify的時間就會更新,如果對文件的屬性做更新,Change的時間就會改變。

比如ll,就可以查看文件詳細屬性信息,如果我們用chmod對文件的權(quán)限進行修改,再次查看文件的詳細信息就可以看到chang顯示的時間被更改。而我們對內(nèi)容即Modify更改時,change也會改變,因為更改內(nèi)容會對文件大小造成改變,屬性change也會跟著改變

?Access是指上一次查看文件的時間,而查看文件的次數(shù)比更改文件內(nèi)容屬性的次數(shù)要多得多,如果每次查看都要更改Access, 那如果短時間內(nèi)多次查看文件就會導致操作系統(tǒng)反復向磁盤更改文件的Access信息,導致系統(tǒng)本身變得低效。所以并不會每次都更新。

所以make指令在判斷是否要重新生成目標文件時,比較的是依賴文件和已經(jīng)生成的目標文件的Modify時間,當然我們也可以使用touch對依賴文件的Modify時間進行刷新,刷新后再使用make去重新覆蓋生成目標文件。

而在非常大型的項目中,上百萬行的代碼,編譯器在編譯的時候可能會耗費十幾二十分鐘,如果我們對其中一個文件做修改,再次編譯,編譯器會根據(jù)時間判斷修改了哪個,然后將其重新編譯然后和其他沒有修改的已經(jīng)編譯好的文件進行融合鏈接,大大提高了效率節(jié)省了時間。所以判斷新舊時間是很有必要的。

二、make語法補充

2.1 .PHONY

?.PHONY用來修飾目標文件,成為一個偽目標,總是被執(zhí)行。這樣每次調(diào)用相關指令都會無腦進行重新編譯不會再去檢查新舊文件的相關時間屬性。

2.2$@ $^

當出現(xiàn)文件名比較長或者較為復雜時,我們可以使用?$@ $^來讓編譯器根據(jù)上面的依賴關系進行推導,$@表示目標文件 $^表示依賴文件。

也可以通過自定義變量然后進行替換,類似于宏的用法,依然可以實現(xiàn)make功能。

2.3make和makefile的語法推導

最終要形成的目標文件為mymakefile,我們可以根據(jù)程序的編譯順序,預處理編譯匯編鏈接四個步驟來反向?qū)⑽募?c開始進行推導,形成最終的可執(zhí)行程序需要.o文件,形成.o需要.s,形成,s需要.i,形成.i需要.c。所以從源文件到最終可執(zhí)行是編譯器這樣一步步進行處理過來的,這就是make語法的推導過程。

?最后就對依賴關系進行推導然后逆向執(zhí)行依賴方法,最終形成目標文件mymakefile。

當然我們平日里不需要這樣的寫法來折磨自己。只需了解其原理就ok。

http://www.risenshineclean.com/news/21957.html

相關文章:

  • 北京城鄉(xiāng)建設委員會網(wǎng)站網(wǎng)絡seo排名
  • 四川成都網(wǎng)站制作廣州網(wǎng)站優(yōu)化費用
  • git怎么做隱私政策網(wǎng)站鏈接生成器
  • 如何做網(wǎng)站走查專業(yè)seo站長工具全面查詢網(wǎng)站
  • 北京微網(wǎng)站appseo文章代寫一篇多少錢
  • 免費php網(wǎng)站有哪些百度seo怎么樣優(yōu)化
  • 怎么做免費推廣網(wǎng)站百度怎么投廣告
  • 成都手機端建站模板百度官方認證
  • 網(wǎng)站建設制作定制百度競價怎么做效果好
  • 平板微信hd版seo網(wǎng)絡推廣是什么意思
  • 上海網(wǎng)站建設seodian培訓學校機構(gòu)有哪些
  • 番禺網(wǎng)站建設外包今日油價92汽油
  • 自己的網(wǎng)站怎么做關鍵詞優(yōu)化吉林seo外包
  • 南山公司網(wǎng)站建設合作seo公司
  • 有哪些做問卷調(diào)查賺錢的網(wǎng)站6網(wǎng)絡營銷推廣平臺
  • 個人做動漫資源網(wǎng)站比較好用的搜索引擎
  • 汕頭建站平臺今日軍事新聞頭條打仗
  • 沈陽做網(wǎng)站的公司排名預測2025年網(wǎng)絡營銷的發(fā)展
  • wordpress首頁導航添加圖片尺寸優(yōu)化網(wǎng)站界面的工具
  • 網(wǎng)站建設修改建議個人網(wǎng)站的制作模板
  • 上海裝修公司排名境遠鄭州百度網(wǎng)站快速優(yōu)化
  • 企業(yè)網(wǎng)站模板 演示網(wǎng)站建設方案模板
  • 變更備案提示 網(wǎng)站主辦者沖突軍事新聞今日最新消息
  • 怎么做網(wǎng)站上的模擬動畫百度競價在哪里開戶
  • wordpress5.6優(yōu)化大師怎么提交作業(yè)
  • 阿克蘇網(wǎng)站建設百度權(quán)重5的網(wǎng)站能賣多少錢
  • 做網(wǎng)站用虛擬服務器可以嗎免費自助建站平臺
  • wordpress 內(nèi)容采集重慶seo主管
  • 碭山做網(wǎng)站2345瀏覽器下載安裝
  • 天邁裝飾網(wǎng)站建設項目開網(wǎng)店如何運營和推廣