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

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

單位做網(wǎng)站需要準備什么百度口碑網(wǎng)

單位做網(wǎng)站需要準備什么,百度口碑網(wǎng),軟件商店下載最新版2022,宣傳片拍攝思路怎么寫Makefile文件用于管理和組織代碼工程的編譯和鏈接,需要被make工具解析并完成相關(guān)的動作。 1、文件包含: 語法:include 文件名 作用:將其它makefile文件包含進來,組成一個更大的makefile文件,這樣有利于make…

Makefile文件用于管理和組織代碼工程的編譯和鏈接,需要被make工具解析并完成相關(guān)的動作。
1、文件包含:
·語法:include 文件名
·作用:將其它makefile文件包含進來,組成一個更大的makefile文件,這樣有利于makefile模塊化編程。通常我們將一些配置選項分開成一個獨立的makefile文件,這樣有利于makefile文件的管理;或?qū)⒛K代碼的依賴關(guān)系和需要編譯的文件信息獨自寫到一個 makefile文件中,最終通過include命令形成一個頂層makefile文件來完成整個工程代碼的編譯和鏈接。
2、變量定義:
·語法:變量名 := 變量值
·在makefile中,經(jīng)常需先定義一個變量,然后往該變量中追加新的值(通過+=符號)。
·例如:先定義一個C_SRCS變量(該值可以為空),然后將代碼文件test1.c和test2.c添加到C_SRCS中
C_SRCS :=
C_SRCS += test1.c test2.c
·在makefile中有一類特殊的變量,其名稱為自動變量,自動變量的值會依據(jù)規(guī)則中的target(目標) 和 prerequisites(前提)自動計算其值,自動變量一般以開頭$為起始,下面將列出一些常見的自動變量:
$@為規(guī)則中的target名稱
< 為規(guī)則中第一個 p r e r e q u i s i t e s 名稱 3 、內(nèi)置命令: ? M a k e f i l e 中內(nèi)置了一些常用的命令,有字符串處理函數(shù) s u b s t 、 p a t s u b s t 、 s t r i p 、 f i n d s t r i n g 、 f i l t e r 、 f i l t e r ? o u t 、 s o r t 、 w o r d 、 w o r d l i s t 、 w o r d s 、 f i r s t w o r d 、 l a s t w o r d ;文件名處理函數(shù) d i r 、 n o t d i r 、 s u f f i x 、 b a s e n a m e 、 a d d s u f f i x 、 a d d p r e f i x 、 j o i n 、 w i l d c a r d 、 r e a l p a t h 、 a b s p a t h ;條件處理函數(shù) i f ;循環(huán)處理函數(shù) f o r e a c h 等。 ? 常見的函數(shù): w i l d c a r d 函數(shù):其語法為 <為規(guī)則中第一個prerequisites名稱 3、內(nèi)置命令: · Makefile中內(nèi)置了一些常用的命令,有字符串處理函數(shù)subst、patsubst、strip、findstring、filter、filter-out、sort、word、wordlist、words、firstword、lastword;文件名處理函數(shù)dir、notdir、suffix、basename、addsuffix、addprefix、join、wildcard、realpath、abspath;條件處理函數(shù)if;循環(huán)處理函數(shù)foreach等。 ·常見的函數(shù): wildcard 函數(shù):其語法為 <為規(guī)則中第一個prerequisites名稱3、內(nèi)置命令:?Makefile中內(nèi)置了一些常用的命令,有字符串處理函數(shù)subst、patsubst、stripfindstring、filter、filter?outsort、wordwordlist、wordsfirstword、lastword;文件名處理函數(shù)dir、notdir、suffixbasename、addsuffixaddprefix、joinwildcard、realpath、abspath;條件處理函數(shù)if;循環(huán)處理函數(shù)foreach等。?常見的函數(shù):wildcard函數(shù):其語法為(wildcard pattern),pattern為匹配的模式,比如 ( w i l d c a r d f o r e a c h 函數(shù):其語法為 (wildcard %.c) 為查找當前路徑下面文件名以.c結(jié)尾的文件。 foreach 函數(shù):其語法為 (wildcardforeach函數(shù):其語法為(foreach var,list,text),每循環(huán)一次var從list中按順序取值一個,然后執(zhí)行一次text代碼并記錄結(jié)果,最終返回所用text代碼運行的結(jié)果。
dirs := C_DIR S_DIR
file := ( f o r e a c h d i r , (foreach dir, (foreachdir,(dirs),$(wildcard ( d i r ) / ? ) ) 將 C D I R 和 S D I R 文件夾下面的所有文件添加到 f i l e 變量中。 d i r 函數(shù):其語法為 (dir)/*)) 將C_DIR和S_DIR文件夾下面的所有文件添加到file變量中。 dir 函數(shù):其語法為 (dir)/?))CD?IRSD?IR文件夾下面的所有文件添加到file變量中。dir函數(shù):其語法為(dir names…),用于獲取names中文件夾路徑,比
( d i r s r c / f o o . c h a c k s ) 將獲得文件夾路徑 s r c / . / n o t d i r 函數(shù):其語法為 (dir src/foo.c hacks) 將獲得文件夾路徑 src/ ./ notdir 函數(shù):其語法為 (dirsrc/foo.chacks)將獲得文件夾路徑src/./notdir函數(shù):其語法為(notdir names…),用于獲取names中除去路徑的信息
( n o t d i r s r c / f o o . c h a c k s ) 將獲得文件信息 f o o . c h a c k s b a s e n a m e 函數(shù):其語法為 (notdir src/foo.c hacks) 將獲得文件信息 foo.c hacks? basename 函數(shù):其語法為 (notdirsrc/foo.chacks)將獲得文件信息foo.chacks?basename函數(shù):其語法為(basename names…),用于獲取names中除去后綴信息
( b a s e n a m e s r c / f o o . c s r c ? 1.0 / b a r h a c k s ) 將獲得信息 s r c / f o o s r c ? 1.0 / b a r h a c k s a d d s u f f i x 函數(shù):其語法為 (basename src/foo.c src-1.0/bar hacks) 將獲得信息 src/foo src-1.0/bar hacks addsuffix 函數(shù):其語法為 (basenamesrc/foo.csrc?1.0/barhacks)將獲得信息src/foosrc?1.0/barhacksaddsuffix函數(shù):其語法為(addsuffix suffix,names…),用于往names中添加后綴信息suffix
( a d d s u f f i x . c , f o o b a r ) 將獲得文件信息 f o o . c b a r . c a d d p r e f i x 函數(shù):其語法為 (addsuffix .c,foo bar) 將獲得文件信息 foo.c bar.c addprefix 函數(shù):其語法為 (addsuffix.c,foobar)將獲得文件信息foo.cbar.caddprefix函數(shù):其語法為(addprefix prefix,names…),用于往names中添加前綴信息prefix
( a d d p r e f i x s r c / , f o o b a r ) 將獲得信息 s r c / f o o s r c / b a r p a t s u b s t 函數(shù):其語法為 (addprefix src/,foo bar) 將獲得信息src/foo src/bar? patsubst 函數(shù):其語法為 (addprefixsrc/,foobar)將獲得信息src/foosrc/bar?patsubst函數(shù):其語法為(patsubst pattern,replacement,text),根據(jù) pattern信息將text替換成replacement
objects = foo.o bar.o baz.o
files = ( p a t s u b s t (patsubst %.o,%.c, (patsubst( objects))
將獲得信息 foo.c bar.c baz.c
其可以簡單寫成
objects = foo.o bar.o baz.o
files = $(objects:.o=.c)
4、規(guī)則定義:
·規(guī)則是makefile中最重要的概念,其告訴make 目標文件的依賴關(guān)系,以及如何生成及更新這些目標文件。在makefile文件規(guī)則有2種,一種是顯式規(guī)則,另一種是隱式規(guī)則。
·顯式規(guī)則用于說明 何時及如何重新生成目標,其列出了目標依賴的文件信息,并通過調(diào)用命令來創(chuàng)建或更新目標,其語法一般為:
targets : prerequisites
??????? recipe
??????? …
targets為要生成或更新的目標,prerequisites為目標依賴的關(guān)系,recipe為生成目標的命令,一個規(guī)則可以有多條recipe;
foo.o : foo.c defs.h
??????? cc -c -g foo.c
其中foo.o為target,foo.c defs.h 為prerequisites,cc -c -g foo.c為recipe。
·隱式規(guī)則用于說明 何時及如何根據(jù)其名稱來重新生成一類目標文件,其描述了目標是如何依賴于名稱相似的文件(一般來說除去后綴信息,其目標與依賴文件的名稱是一樣的),并調(diào)用命令來創(chuàng)建或更新目標;
%.o : %.c
??????? $(CC) -c $(CFLAGS) $< -o @ 這個隱式規(guī)則說明了 . o 的目標文件依賴于同名的 . c 文件,其中 @ 這個隱式規(guī)則說明了.o的目標文件依賴于同名的.c文件,其中 @這個隱式規(guī)則說明了.o的目標文件依賴于同名的.c文件,其中< 及 @ 為自動變量, @為自動變量, @為自動變量,<為第一個prerequisites條件,也就是 目標名稱.c,$@為目標,也就是 目標名稱.o。 $(CC) -c $(CFLAGS) %.c -o %.o
·在makefile中,我們通常要編寫3種隱式規(guī)則,第1種為代碼鏈接規(guī)則,第2種為源代碼編譯規(guī)則,第3種為匯編代碼編譯規(guī)則。
5、文件搜索路徑設(shè)置:
·Make命令默認會在當前路徑中搜索prerequisites中的文件,比如頭文件,但我們在寫程序時,經(jīng)常將頭文件和源文件隔開放在不同的文件夾下,這種該怎么處理呢?1、我們可以通過VPATH變量來解決,2、我們可以通過vpath指令來解決。
·VPATH變量:VPATH變量為所有的prerequisites指定文件路徑,路徑之間可以通過 : 或 空格 隔開
VPATH = src:…/headers
其代表在src文件或者上層的headers文件中查找。
?·vpath指令:vpath指令的作用與變量VPATH的作用差不多,但vpath有更多的靈活性,其語法為:vpath pattern directories
? pattern為需要查找的文件匹配模式信息,directories為要查找的文件路徑;
vpath %.h …/headers
其代表在上一層文件夾headers中查找 .h頭文件信息。
6、依賴關(guān)系生成:
在編寫c文件代碼時,我們經(jīng)常通過#include 語句來包含其它文件信息,比如頭文件,該c文件被編譯時需要依賴于其#include包含進來的文件,在規(guī)則編寫中,就需要指出這個依賴關(guān)系,這樣當頭文件信息改變后,make程序就知道如何更新目標文件了,而不是整個進行重編譯,但這個操作可以看出是非常消耗時間及傻瓜式的,作為解決方案我們可以通過使用 編譯器命令 –M選項來自動完成該工作,比如在main.c中#include “defs.h”,通過 cc –M main.c將產(chǎn)生輸出 main.o:main.c defs.h,我們可以將輸出結(jié)果寫到 .d文件中,然后通過include指令包含到makefile文件中。
7、編譯器常用命令選項:
? 編譯器通常進行預(yù)處理、編譯、匯編和鏈接處理,預(yù)處理包含了宏定義、文件包含、條件編譯,編譯則直接將代碼翻譯成機器碼,匯編則將匯編代碼翻譯成機器碼,鏈接則按照內(nèi)存地址分配文件將各個文件的機器碼統(tǒng)一形成一個可執(zhí)行文件,對編譯命令(比如gcc)而言該如何區(qū)別這些操作呢?即通過命令選項。下面將介紹一些常見的命令選項:
-o file 輸出生成的 file文件
-c 編譯或匯編程序文件,但不會執(zhí)行鏈接操作
-mcpu=name 規(guī)定目標處理器的型號
-Wall 使能所有警告調(diào)試信息輸出
-glevel 要求帶調(diào)試信息的等級,-g0代表不產(chǎn)生調(diào)試信息,-g1代表產(chǎn)生最小的調(diào)試信息用來跟蹤程序的運行,但不包括本地變量,-g3包含了一些額外的調(diào)試信息比如程序的宏定義等。
-I dir 增加頭文件的搜索路徑,比如 –I…/header
-D name 預(yù)先定義一個宏定義

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

相關(guān)文章:

  • 精美網(wǎng)站設(shè)計廣州seo關(guān)鍵字推廣
  • 怎樣做網(wǎng)站流量定向推廣
  • 有公網(wǎng)ip 如何做一網(wǎng)站北京剛剛宣布比疫情更可怕的事情
  • 太原網(wǎng)站建設(shè)網(wǎng)站推廣的渠道有
  • 免費做網(wǎng)站軟件下載關(guān)鍵詞搜索網(wǎng)站
  • 網(wǎng)站建設(shè)技術(shù)實現(xiàn)難點云南疫情最新情況
  • 網(wǎng)站開發(fā)是什么語言西安sem競價托管
  • 域名指向另一個網(wǎng)站合肥seo推廣外包
  • 金融課程網(wǎng)站模板下載百度指數(shù)官網(wǎng)移動版
  • 免費行情軟件下載廣州網(wǎng)站排名優(yōu)化報價
  • 網(wǎng)站設(shè)計與開發(fā)實例長春網(wǎng)站建設(shè)方案報價
  • 北京網(wǎng)站制作應(yīng)用成都seo優(yōu)化
  • 做簡歷最好的網(wǎng)站seo綜合查詢平臺
  • 數(shù)據(jù)來源于網(wǎng)站需如何做腳注小紅書關(guān)鍵詞優(yōu)化
  • cms做網(wǎng)站后臺自動點擊器免費下載
  • 襄陽做網(wǎng)站的公司北京seo技術(shù)交流
  • 沈陽建設(shè)網(wǎng)站服務(wù)公司seo查詢排名軟件
  • 東莞網(wǎng)站推廣哪家好信息短鏈接生成器
  • 中國微電影 網(wǎng)站開發(fā)者百度搜索app下載
  • 搬家公司網(wǎng)站制作百度站長工具怎么關(guān)閉教程視頻
  • 廣州大石附近做網(wǎng)站的公司百度首頁 百度一下
  • 教你怎么做垃圾網(wǎng)站關(guān)鍵詞排名優(yōu)化公司外包
  • 利用ionic做的網(wǎng)站夜夜草
  • 怎么申請一個免費域名seo站內(nèi)優(yōu)化和站外優(yōu)化
  • 南平武夷山網(wǎng)站建設(shè)網(wǎng)絡(luò)整合營銷4i原則是指
  • 長沙網(wǎng)站開發(fā)微聯(lián)百度搜索什么關(guān)鍵詞能搜到網(wǎng)站
  • 如何給網(wǎng)站2做推廣北京網(wǎng)絡(luò)營銷策劃公司
  • 去國外做非法網(wǎng)站天津seo網(wǎng)絡(luò)營銷
  • ruby網(wǎng)站開發(fā)工程師招聘2023年免費b站推廣大全
  • 靖邊商務(wù)網(wǎng)站建設(shè)網(wǎng)頁設(shè)計參考網(wǎng)站