RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

請問一下CMake和Make之間的區(qū)別有哪些?

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 2024-02-27 11:44 ? 次閱讀

CMake和Make是構(gòu)建軟件,其工作涉及將源代碼轉(zhuǎn)換為可執(zhí)行程序。CMake和Make是旨在實(shí)現(xiàn)構(gòu)建過程自動化的工具,幫助開發(fā)者節(jié)省時(shí)間和精力。

Make如何工作

-控制從源代碼生成可執(zhí)行文件和其他文件。

-構(gòu)建程序的說明在名為Makefile的文件中指定。

- Make讀取Makefile,以確定構(gòu)建程序的必要步驟。

CMake的工作原理

- CMake需要一個(gè)CMakeLists.txt文件,并充當(dāng)跨平臺制作工具。

-它允許與編譯器無關(guān)的軟件構(gòu)建、測試、打包和安裝。

- CMake為各種系統(tǒng)生成構(gòu)建文件,但不直接編譯代碼。

- CMake可以生成Makefiles,然后與Make一起使用,在目標(biāo)平臺上構(gòu)建程序。

CMake 與Make 構(gòu)建比較

-都是生成構(gòu)建系統(tǒng):CMake創(chuàng)建輸出,可供Make等構(gòu)建系統(tǒng)使用,作為其他構(gòu)建系統(tǒng)的生成器。另一方面,Make生成一個(gè)編譯的二進(jìn)制可執(zhí)行文件。

跨平臺與單平臺

- CMake跨平臺:CMake旨在在不同的操作系統(tǒng)上工作,實(shí)現(xiàn)跨平臺的一致構(gòu)建。

- Make單一平臺:Make主要在單個(gè)平臺上使用,需要手動干預(yù),以確保不同系統(tǒng)之間的兼容性。

小結(jié)

- CMake和Make都是軟件開發(fā)中自動化構(gòu)建過程的基本工具。

- CMake提供跨平臺兼容性,并充當(dāng)各種構(gòu)建系統(tǒng)的生成器,而Make專注于執(zhí)行Makefile中指定的構(gòu)建指令。

-了解CMake和Make之間的區(qū)別使開發(fā)人員能夠根據(jù)其特定項(xiàng)目需求選擇最合適的工具。


審核編輯:劉清
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 二進(jìn)制
    +關(guān)注

    關(guān)注

    2

    文章

    795

    瀏覽量

    41643
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1623

    瀏覽量

    49107
  • 生成器
    +關(guān)注

    關(guān)注

    7

    文章

    315

    瀏覽量

    21002
  • CMake
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    1271

原文標(biāo)題:CMake和Make的區(qū)別?

文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Windows編譯工具CMake的安裝和最簡使用

    MCU的開發(fā)環(huán)境般在Windows操作系統(tǒng)上,簡單的工程般直接編寫Makefile文件后使用make工具構(gòu)建程序,復(fù)雜的工程般借助CMake
    的頭像 發(fā)表于 11-14 10:18 ?8113次閱讀
    Windows<b class='flag-5'>下</b>編譯工具<b class='flag-5'>CMake</b>的安裝和最簡使用

    請問一下spi跟gspi區(qū)別

    請問一下spi跟gspi區(qū)別還有sdio底下的spi模式跟spi區(qū)別
    發(fā)表于 09-20 10:27

    PCB制板和打樣的區(qū)別有哪些

    `請問PCB制板和打樣的區(qū)別有哪些?`
    發(fā)表于 03-18 15:11

    ISP與IAP的區(qū)別有哪些?它們之間有啥聯(lián)系?

    ISP的原理是什么?ISP與IAP的區(qū)別有哪些?它們之間有啥聯(lián)系?
    發(fā)表于 09-23 08:36

    步進(jìn)電機(jī)和伺服電機(jī)的區(qū)別有哪些

    請問一下步進(jìn)電機(jī)和伺服電機(jī)的區(qū)別有哪些?
    發(fā)表于 09-30 08:43

    請問一下MQTT與TCP的區(qū)別是什么?

    請問一下MQTT與TCP的區(qū)別是什么?
    發(fā)表于 10-27 06:00

    請問一下FLOPS、TOPS和FLOPs的區(qū)別是什么?

    請問一下FLOPS、TOPS和FLOPs的區(qū)別是什么?
    發(fā)表于 10-27 07:13

    請問一下微機(jī)和單片機(jī)之間有什么區(qū)別?

    請問一下微機(jī)和單片機(jī)之間有什么區(qū)別?
    發(fā)表于 11-01 06:34

    請問一下ARM和STM32的區(qū)別是什么?

    請問一下ARM和STM32的區(qū)別是什么?
    發(fā)表于 11-05 08:07

    請問一下ARM與單片機(jī)的區(qū)別是什么?

    請問一下ARM與單片機(jī)的區(qū)別是什么?
    發(fā)表于 11-05 09:04

    請問一下Sensory語音識別引擎的優(yōu)缺點(diǎn)分別有哪些呢

    請問一下Sensory語音識別引擎的優(yōu)缺點(diǎn)分別有哪些呢?
    發(fā)表于 12-23 08:48

    請問一下ARM匯編中的B跳轉(zhuǎn)指令和LDR跳轉(zhuǎn)的區(qū)別在哪

    請問一下ARM匯編中的B跳轉(zhuǎn)指令和LDR跳轉(zhuǎn)的區(qū)別有哪些不同之處呢?
    發(fā)表于 07-21 15:57

    CPU和GPU的區(qū)別有哪些

    CPU和GPU的區(qū)別有哪些呢?接下來簡單給大家介紹一下關(guān)于GPU和CPU的區(qū)別。
    的頭像 發(fā)表于 01-06 17:07 ?3.1w次閱讀

    如何使用CMake工具套件構(gòu)建CUDA應(yīng)用程序

    我希望這篇文章向您展示了 CMake 如何自然地支持構(gòu)建 CUDA 應(yīng)用程序。如果您是 CMake 的現(xiàn)有用戶,請?jiān)囉?CMake 3 . 9 并利用改進(jìn)的 CUDA 支持。如果您不是 CMa
    的頭像 發(fā)表于 04-01 17:42 ?4544次閱讀
    如何使用<b class='flag-5'>CMake</b>工具套件構(gòu)建CUDA應(yīng)用程序

    在Linux如何使用CMake編譯程序

    拿到其它平臺上使用,無需修改,非常方便。 本文主要講述在Linux如何使用CMake來編譯我們的程序。 環(huán)境搭建 我使用的是ubuntu18.04,安裝cmake使用如下命令:
    的頭像 發(fā)表于 11-08 16:15 ?6368次閱讀
    在Linux<b class='flag-5'>下</b>如何使用<b class='flag-5'>CMake</b>編譯程序
    RM新时代网站-首页