conan 作為 c++ 包管理軟體,最重要的功能就是「包」,因此我們需要仔細看看其包管理的基本概念。
conan 最主要的功能就是可以管理好預編譯好的二進位制檔案用於後續打包。關於「包」這裡有兩層定義:「包」(package recipe)、 「二進位製包」(binary package)。
區別「包」(package recipe)
「二進位製包」(binary package)
概念邏輯定義
實際使用
從屬關係
1:n
1:n
定義包名/版本@使用者/渠道
settings & options
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-ewf9e6xn-1575689286311)(
setting 和 option 的區別:setting 是 conan 給出標準配置項,option 是包的自定義配置項。我們知道在 conan 中,可以通過設定不同的 setting 和 option 生成不同的「二進位製包」(binary package)。通過「配置檔案」(profiles)就可以方便的進行管理。
乙個配置檔案的定義:
[settings]
#setting=value
os_build=linux
arch_build=x86_64
os=macos
arch=x86_64
compiler=clang
compiler.version=3.5
compiler.libcxx=libstdc++11
build_type=release
[options]
#mylib:shared=true
*:shared=true
[env]
#env_var=value
cc=/usr/bin/clang
cxx=/usr/bin/clang++
[build_requires]
#tool/version@user/channel
tool2/0.1@user/channel, tool3/0.1@user/channel
*: tool4/0.1@user/channel
Python中模組和包的概念
由於在python中一切皆為物件 object 想要好好理解module和package,一定要先理解namespace的概念。所謂namespace,是指標示符的可見範圍。對於python而言,常見的namespace主要有以下幾種 build in namespace 內建命名空間 global...
函式 python中閉包的概念
閉包 在函式巢狀中,內部函式引用了外部函式的自由變數產生了閉包,自由變數被保留下來而不是隨著外部函式消亡 案例一 python2中的閉包使用 def fn c 0 自由變數 def inner c 0 1 return c 0 return inner foo fn print callable f...
Python中模組 庫 包的概念
二 庫 library 三 包 package 1.模組的概念 每乙個python指令碼都是乙個可執行.py檔案,也就是乙個模組,每乙個模組包含著許多方法,也就是函式。模組是乙個有組織的 片段。建立乙個模組 其路徑如下 authors xiaobei deffunc1 return 1def fun...