www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 嵌入式大雜燴
[導(dǎo)讀]星標(biāo)「嵌入式大雜燴」,一起進(jìn)步!大家好,我是ZhengN。本次給大家分享一個(gè)優(yōu)秀的跨平臺(tái)構(gòu)建工具。在我們嵌入式中,開(kāi)發(fā)環(huán)境多種多樣。在windows下進(jìn)行開(kāi)發(fā),有各種好用的IDE給我們使用,我們可以圖形化地創(chuàng)建工程、配置工程、編譯工程。在Linux下,可能就iu沒(méi)有那么“方便”了...



大家好,我是ZhengN。本次給大家分享一個(gè)優(yōu)秀的跨平臺(tái)構(gòu)建工具。


在我們嵌入式中,開(kāi)發(fā)環(huán)境多種多樣。在windows下進(jìn)行開(kāi)發(fā),有各種好用的IDE給我們使用,我們可以圖形化地創(chuàng)建工程、配置工程、編譯工程。在Linux下,可能就iu沒(méi)有那么“方便”了。


在Linux下進(jìn)行嵌入式開(kāi)發(fā),我們需要使用gcc、make、cmake等工具來(lái)編譯。


  • 源文件較少時(shí)可以使用直接調(diào)用gcc工具進(jìn)行編譯。


  • 源碼文件較多時(shí),可借用make工具。make通過(guò)解析Makefile文件來(lái)執(zhí)行一些gcc命令進(jìn)行編譯。


  • 簡(jiǎn)單的項(xiàng)目,Makefile還可以自己寫(xiě)一寫(xiě)。但實(shí)際項(xiàng)目中,我們很少直接編寫(xiě)Makefile,而是借助cmake工具來(lái)生成。cmake根據(jù)一個(gè)CMakeLists.txt文件來(lái)生成不同平臺(tái)的Makefile文件,達(dá)到跨平臺(tái)的作用。


已經(jīng)會(huì)Makefile了,還有沒(méi)有必要學(xué)習(xí)CMakeLists.txt?關(guān)于這個(gè)問(wèn)題,網(wǎng)上各路大神都有自己的一些看法:


  • 反對(duì)學(xué)習(xí)cmake、CMakeLists.txt的理由大概是:增加學(xué)習(xí)成本、不跨平臺(tái)不需要學(xué) cmake等。


  • 支持學(xué)習(xí)cmake、CMakeLists.txt的理由大概是:跨平臺(tái)、管理大型項(xiàng)目簡(jiǎn)單、易擴(kuò)展、高效率等。


我覺(jué)得還是有必要學(xué)一下的,能用上的概率比較大。關(guān)于cmake的學(xué)習(xí),強(qiáng)烈推薦一篇博文:


分享一篇很不錯(cuò)的CMake入門(mén)文章,值得收藏細(xì)讀!


cmake相關(guān)推文:


實(shí)用 | 使用Cmake快速生成visual studio工程


手把手教你在Windows下編譯、使用開(kāi)源庫(kù)


xmake簡(jiǎn)介

同cmake一樣,xmake也是一個(gè)跨平臺(tái)的安裝編譯工具,是個(gè)國(guó)產(chǎn)工具。


之前分享的 TBOX | 一個(gè)用c語(yǔ)言實(shí)現(xiàn)的跨平臺(tái)開(kāi)發(fā)庫(kù),就是使用xmake來(lái)管理的。


xmake 是一個(gè)基于 Lua 的輕量級(jí)跨平臺(tái)構(gòu)建工具,使用 xmake.lua 維護(hù)項(xiàng)目構(gòu)建,相比 makefile/CMakeLists.txt,配置語(yǔ)法更加簡(jiǎn)潔直觀,對(duì)新手非常友好,短時(shí)間內(nèi)就能快速入門(mén),能夠讓用戶(hù)把更多的精力集中在實(shí)際的項(xiàng)目開(kāi)發(fā)上。


xmake官網(wǎng):


https://xmake.io/


1、支持的平臺(tái)

  • Windows (x86, x64)
  • macOS (i386, x86_64, arm64)
  • Linux (i386, x86_64, cross-toolchains ..)
  • *BSD (i386, x86_64)
  • Android (x86, x86_64, armeabi, armeabi-v7a, arm64-v8a)
  • iOS (armv7, armv7s, arm64, i386, x86_64)
  • WatchOS (armv7k, i386)
  • MSYS (i386, x86_64)
  • MinGW (i386, x86_64, arm, arm64)
  • Cygwin (i386, x86_64)
  • Wasm (wasm32)
  • Cross (cross-toolchains ..)

2、支持的工具鏈

3、支持的語(yǔ)言

  • C/C
  • Objc/Objc
  • Swift
  • Assembly
  • Golang
  • Rust
  • Dlang
  • Fortran
  • Cuda
  • Zig (Experimental)

4、編譯測(cè)試

多任務(wù)并行編譯測(cè)試:


單任務(wù)編譯測(cè)試:


官網(wǎng)上的內(nèi)容很豐富,對(duì)xmake做了很詳細(xì)的介紹,感興趣的小伙伴可以自己去了解學(xué)習(xí)。


xmake安裝、使用

下面我們一起來(lái)安裝、使用,直觀地認(rèn)識(shí)一下:


針對(duì)不同的環(huán)境,xmake有多種安裝方式。


Ubuntu下可使用wget或curl安裝,安裝命令:


bash <(wget https://xmake.io/shget.text -O -)
或:


bash <(curl -fsSL https://xmake.io/shget.text)
下面我們使用curl來(lái)安裝:


xmake的參數(shù)很豐富,通過(guò)命令 xmake create --help來(lái)查看:


我們可以直接通過(guò)命令來(lái)創(chuàng)建一個(gè)工程。


創(chuàng)建一個(gè)C語(yǔ)言工程,輸入命令:


xmake create -l c -P ./c_test
創(chuàng)建一個(gè)C 工程,輸入命令:


xmake create -l c  -P ./cpp_test
這里的 -l參數(shù)指定工程所用的編程語(yǔ)言, -P參數(shù)指明工程的名稱(chēng)。其中xmake.lua就類(lèi)似于cmake的CMakeLists.txt文件。里面的內(nèi)容如:


target("c_test")
set_kind("binary")
add_files("src/*.c")
其語(yǔ)法類(lèi)似于CMakeLists.txt但看起來(lái)比CMakeLists.txt更簡(jiǎn)潔。


構(gòu)建工程,輸入命令 xmake:


運(yùn)行程序,輸入命令 xmake run c_test:


調(diào)試程序,輸入命令 xmake run -d c_test:


關(guān)于跨平臺(tái)工具,目前用得比較多的自然是cmake,但大家也可以持續(xù)關(guān)注一下xmake這一款優(yōu)秀的構(gòu)建工具,說(shuō)不定后面會(huì)火~


以上就是本次關(guān)于xmake的分享,咱們下期見(jiàn)~



往期推薦:


嵌入式狀態(tài)機(jī)編程-QP狀態(tài)機(jī)框架與常見(jiàn)狀態(tài)機(jī)


Linux下嵌入式開(kāi)發(fā)學(xué)習(xí)建議!


在公眾號(hào)聊天界面回復(fù)1024,可獲取嵌入式資源;回復(fù) m ,可查看文章匯總。



點(diǎn)擊閱讀原文,查看更多分享



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉