寫算法代碼多了,發(fā)現(xiàn)python就是一張皮,扎實的內(nèi)容都在C/C++那里,20年沒有動搖。一直以來,我不停的在make和cmake中間穿梭,今天停下來小結(jié)一下。這點知識在C/C++專業(yè)開發(fā)眼里就是一個小蛋糕(piece of cake),但是對于很多算法人士,還是有點技術(shù)含量的。
首先,make比cmake出現(xiàn)的早,大部分有Makefile的項目都是歷史悠久,CMakefiles.txt則是后起之秀,主要還是大量需要做C/C++編碼的人實在是很難整明白各種支撐庫,各種依賴,Makefile就是一本天書,于是cmake是用來生成Makefile的,而CMakefiles.txt就是用來指導(dǎo)cmake生成Makefile,然后再用make編譯工程。這個過程可以用下面的圖表達(dá):

所以,為了能夠把一堆c,cc,cpp,h,hpp代碼變成可運行的庫或者程序,核心還是Makefile,CMakefiles.txt純粹是為了降低不懂Unix體系的人去編譯C/C++代碼做的一個自動系統(tǒng)和環(huán)境檢測和設(shè)置工具,同時幫你生成Makefile。