dir_src := src #源**資料夾名
dir_inc := inc #標頭檔案資料夾名
type_inc := .h
type_src := .c #當為c++檔案是改為.cpp
type_obj := .o
cc := gcc #編譯c++**是改為g++
lflags := #如有編譯選項,則在這裡新增,如-pthread
cflags := -i $(dir_inc)
ifeq ($(debug),true) #debug版本編譯
cflags += -g
endif
mkdir := mkdir
rm := rm -fr
hdrs := $(wildcard $(dir_inc)/*$(type_inc))
hdrs := $(notdir $(hdrs))
objs := $(wildcard $(dir_src)/*$(type_src))
objs := $(objs:$(type_src)=$(type_obj))
objs := $(patsubst $(dir_src)/%, $(dir_build)/%, $(objs))
vpath %$(type_inc) $(dir_inc)
vpath %$(type_src) $(dir_src)
$(dir_build) :
$(mkdir) $@
$(cc) $(lflags) -o $@ $^
$(dir_build)/%$(type_obj) : %$(type_src) $(hdrs)
$(cc) $(cflags) -o $@ -c $<
clean :
$(rm) $(dir_build)
本文為狄泰軟體學院課程學習筆記
可復用單鏈表的實現
linklist.h ifndef linklist h define linklist h typedef void linklist 定義結點指標域 typedef struct tag linklistnode linklistnode struct tag linklistnode 定義頭結...
vue 用 key 管理可復用的元素
vue 會盡可能高效地渲染元素,通常會復用已有元素而不是從頭開始渲染。這麼做除了使 vue 變得非常快之外,還有其它一些好處。例如,如果你允許使用者在不同的登入方式之間切換 usernamelabel template emaillabel template 那麼在上面的 中切換logintype將...
C C 用遞迴實現n的k次方
用if條件進行限制,在某一狀態下進行遞迴呼叫自身 通過一步步的遞迴呼叫,應該向if判斷條件的方向逼近 以停止遞迴 找到遞迴的重點 每次遞迴的都要將乙個大的問題劃分成子問題 首先呢,我們定義乙個函式,就叫 my pow吧,為了避免與庫函式中的 pow衝突 難不成弄個真假美猴王?引數呢,n表示底數,比如...