日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

blade 学习

發(fā)布時間:2025/3/16 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 blade 学习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
blade 學(xué)習(xí)

一、目錄構(gòu)造樣式

. └── workspace├── BLADE_ROOT├── build64_release├── client│?? ├── BUILD│?? └── client.cpp├── idl│?? └── student│?? ├── BUILD│?? └── student.thrift├── proj│?? ├── BUILD│?? └── src│?? ├── main.cpp_bak│?? └── student_funcs_server.skeleton.cpp├── README└── SConstruct

二、blade 各個文件的意義

一般會先建立一個workspace,在里面touch BLADE_ROOT。包含BLADE_ROOT的文件夾是blade的根目錄,比如如果要引用其他項目的頭文件,路徑是需要相對于BLADE_ROOT這一級目錄來寫的

?

三、BUILD 文件

cc_binary(name='client',srcs='client.cpp',deps=['//idl/student:student_thrift',] )

cc_library(
name='abs_lib',srcs='abs.cpp',
   allow_undefined=True, )

?

?

name值得是這個binary的名字

srcs是要編譯這個binary需要的源文件

deps是編譯這個binary所需要的依賴。比如說workspace/proj/src/main.cpp里面調(diào)用了 workspace/abs/abs.cpp里面的abs()方法來取絕對值,那么就需要添加deps = ['//abs:abs_lib']這個依賴,注意,//abs:abs_lib里面的abs是相對于workspace的一個路徑,后面的abs_lib是abs這個項目里面BUILD文件的name。

cc_library,這是說明,要講目標(biāo)編譯成庫文件,默認(rèn)編譯成"libabs_lib.a"這個靜態(tài)庫文件,可以通過添加編譯選項,這樣,blade build --generate-dynamic,這個參數(shù)來生成動態(tài)庫,生成動態(tài)庫的時候可能會報未定義的符號,可以加上?allow_undefined=True,這個選項

?

如果A library被B依賴,并且B的BUILD文件里面有dynamic_link=1這個選項,那么A庫也會生成動態(tài)so庫

?

四、編譯

blade build

選項

--update-deps 自動從git上拉取依賴

?

五、用blade來自動編譯thrift項目

?需要用到 thrift_library

thrift_library(name="student_thrift",srcs="student.thrift",export_incs=[""],deps = [ "cpp3rdlib/thrift:0.9.1@//cpp3rdlib/thrift:thrift",#"//idl/base:base_thrift",], )

thrift_library就會生成相應(yīng)的thrift文件,相當(dāng)于幫你手動執(zhí)行了 thrift -gen cpp workspace/idl/student.thrift這個命令

如果我的 workspace/proj/src/main.cpp 是一個thrift server,那應(yīng)該怎樣寫B(tài)UILD呢? 很簡單,直接在deps里面寫入? '//idl/student:student_thrift'? ?即可。這樣,我的main.cpp里面就可以直接包含thrift的相關(guān)頭文件了,然后最終將main.cpp編譯成一個 thrift 的 server

posted on 2018-11-12 20:38 potatoknight 閱讀(...) 評論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/longjmp/p/9948887.html

總結(jié)

以上是生活随笔為你收集整理的blade 学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。