<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Broc面向c/c++語言的構(gòu)建工具

          聯(lián)合創(chuàng)作 · 2023-10-01 10:48

          broc是一款面向c/c++語言的構(gòu)建工具,提供了編譯、分支依賴、依賴模塊下載等功能。不同于make, cmake等以庫文件鏈接的編譯方式,broc將依賴庫源代碼與程序源代碼一并同時進行編譯,這種方式可以避免程序源代碼與依賴庫編譯選項或平臺不一致導(dǎo) 致的軟件兼容性問題;broc支持編譯結(jié)束后自動運行單元測試用例;借助Jenkins broc還能完成軟件的持續(xù)集成。

          優(yōu)勢

          • 源碼編譯
            broc支持將程序以及依賴庫從源碼狀態(tài)進行編譯,解決了c/c++程序因編譯選項、操作系統(tǒng)平臺或庫文件版本不同而造成的兼容性問題;

          • 代碼自動下載
            broc支持自動checkout[依賴模塊][4]源代碼到本地然后進行編譯,用戶無需編寫控制腳本來實現(xiàn)此功能;

          • 分支依賴
            broc支持指定依賴庫的主干、分支和TAG,broc能自動識別并解決庫文件傳遞性依賴問題;

          • 語法簡單
            Makefile復(fù)雜的語法讓人望而卻步,而broc語法簡潔,易上手;

          • 增量編譯靠譜
            make通過文件的修改時間來判斷文件是否需要進行再編譯,當(dāng)文件版本回滾后或編譯參數(shù)變更后,make不會對文件再次進行編譯;broc除了使用文件的修改時間,還基于文件內(nèi)容的哈希值以及編譯參數(shù)作為增量編譯的判斷標(biāo)準(zhǔn),增量編譯的準(zhǔn)確性會更高;

          • 支持protobuf
            broc內(nèi)置對protobuf的支持,將proto文件編譯成靜態(tài)庫.a文件一步完成

          安裝配置

          系統(tǒng)要求

          • 操作系統(tǒng)Linux

          工具要求

          • Python
            版本 >= 2.6.6, 建議使用2.7版本

          • git
            版本 >= 2.1.2

          • svn
            版本 >= 1.7

          • gcc/g++
            broc使用g++/gcc進行編譯,需要事先安裝好

          • protobuf
            broc使用了protobuf,自帶了protobuf的安裝包

          安裝

          • 下載代碼
            git clone https://github.com/baidu/broc.git baidu/broc

          • 安裝protobuf
            進入到tools目錄執(zhí)行sh install protobuf, protobuf被安裝在$HOME/protobuf目錄下

          • 處理proto文件
            進入到tools目錄下面執(zhí)行sh install proto, 生成broc自用的py文件

          • 設(shè)置PATH
            將broc的client目錄設(shè)置到PATH中, 例如:export PATH=$HOME/broc/client:$PATH

          broc配置

          broc安裝完后,執(zhí)行broc命令可以生成broc的配置文件,配置文件位于用戶的$HOME目錄下:~/.broc.rc 配置文件內(nèi)容:

          [repo]
          svn_repo_domain = https://github.com
          git_repo_domain = https://github.com
          svn_postfix_branch = BRANCH
          svn_postfix_tag = PD_BL

          • svn_repo_domain     svn倉庫域名

          • git_repo_domain     git倉庫域名

          • svn_postfix_branch  svn url中branch名后綴

          • svn_postfix_tag     svn url中tag名后綴

          參數(shù)svn_repo_domain和git_repo_domain分別表示SVN和GIT代碼庫的域名,配置成自己域名即可。 一個依賴庫出現(xiàn)不同版本時需要對版本進行對比,確定編譯時要使用的依賴模塊版本; SVN管理的依賴模塊版本的對比是通過模塊的svn url來完成的,因此broc要求svn url有統(tǒng)一的命名方法。在SVN URL中進行了詳細說明,可以參照此方法根據(jù)自己的實際情況對 svn_postfix_branch, svn_postfix_tag進行配置。

          使用手冊

          https://github.com/baidu/broc/wiki/broc-tutorial

          構(gòu)建規(guī)范

          https://github.com/baidu/broc/wiki/broc-manual

          瀏覽 13
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91视频美女 | 狼人综合视频 | 一级a一级a爰片免费免免小说 | 毛片网站有哪些 | 亚洲国产精品18久久久久久 |