總控makefile
cc := gcc
cflags := -wall -o3
libs = -lpthread
target := client
source := $(wildcard src/*.c) 列出當前目錄下src目錄的所有.c檔案
objs := (pa
tsub
st
(patsubst %.c,%.o,
(patsu
bst(source)) 將source變數裡的.c檔案編譯成.o檔案
modules += check_putin pack_message main 當前軟體**所有的功能目錄
allobjs := (ad
dsuf
fix/
src/
∗.o,
(addsuffix /src/*.o,
(addsu
ffix
/src
/∗.o
,(modules)) 列出當前目錄下的src的.o檔案
scripts/makefile
@ ( fo
reac
hn
,(foreach n,
(forea
chn,
(modules),(ca
llmo
dule
smak
e,
(call modules_make,
(callm
odul
esm
ake,
(n))) 進入各個功能目錄執行make命令
@ ( fo
reac
hn
,(foreach n,
(forea
chn,
(modules),(ca
llmo
dule
scle
an
,(call modules_clean,
(callm
odul
esc
lean
,(n))) 進入各個功能目錄執行makeclean命令
通過修改總控以及scripts目錄下的makefile,可以實現多種功能
在上一節課所用的計算器程式中建立tree,然後建立各個目錄的src檔案,並修改貼上到目錄下的makefile,可實現計算器功能。
cmake,乙個跨平台的安裝(編譯)工具。
嵌入式linux開發工具
—shell程式設計(嵌入式系統開發,與系統移植相關)linux系統維護工程師需熟練,用於指令碼程式設計,進行批處理。
shell的兩種解釋:
1命令解析器,將使用者的命令解析,呼叫相應的命令的可執行檔案
2指令碼語言
shell既是一種命令語言,又是一種程式語言,它提供了許多在高階語言中才具有的控制結構。
shell檔案為了加以區分,一般會在檔案後加.sh字尾,但是現在一般不加。執行程式時需要給程式修改許可權。
shell中定義變數,變數賦值時,等號兩邊不能加空格,且bash中的語句結尾不需要分號。且在不同的解析器中語法不一樣,需要加以注意。
定義函式 functionfunc1 {}
呼叫函式 func1
if語句 格式如下:
if [expression]
then
#code
block
else
#code block
fi需要注意的是,兩邊都需要有空格,且=長邊也要有空格。
for語句 格式如下:
for var in [list]
do#code
block
done
當do和for被寫在同一行,必須在do前面加上「;」如: for var in [list];do
while語句 格式如下:
while [condition]
do#code
block
done
until語句 格式如下:
until
[condition]
do#code
block
done
while和until的區別在於while為真時執行,until為假時執行;
case語句 格式如下:
case 「$var」 in
contidion1)
;;contidion1)
;;*)
default
statements;;
esac
功能:進行多項分支控制。 第五周學習總結
上週由於學校單招的原因,很多專業課都沒有上。然後就有點懈怠了,在周五上課的時候,mysql的老師也說了我們下來沒有自己去學習的這個問題。師傅領進門修行在個人,最重要還是看自己的學習,和下來的努力。不過課還是要還的,這週欠了好多課。公開課上數學也越來越深,感覺有點聽不懂了,物理學習老講了機械振動,英語...
第五周學習總結
這個週末想休息 這一周感覺收穫很多,模板感覺背的都沒有別的板塊那麼生了,還連著組隊練習賽打了好久 真好,有種自己不需要打 只需要思考的爽快 畢竟我這種菜雞,也幫不上什麼忙嗚嗚嗚。很喜歡一起討論問題,因為或許別人一句不知道什麼話就能開啟乙個思路,而不再是自己乙個人默默鑽牛角尖兒。開始玩洛谷上真正的水題...
第五周學習總結
這一周主要學習的還是動態規劃,這一部分說實話我學起來真的挺吃力的,有很多題目不知道該如何下手,甚至很多題做一晚上也做不出來,沒有什麼感覺。做到第k個題的時候,我提交了8次才提交過,開始很多遍都說wa,我自己仔細找了很多遍也沒有找到錯誤,包括到後來顯示是runtime error的問題,之前遇到的ru...