Bjam 是一個類似於Make的專案管理工具.它專門為Boost定制的編譯管理器,它基於FTJam, FTJam是從Perforce Jam發展起來的.Bjam向後兼容Perforce Jam.
Bjam工具由Boost.Jam專案維護.
目前Bjam的最新版本是:3.1.9(與Boost-1.31.0一起發布).它基於2.4 of Jam/MR.
Jam語言定義
詞法
Jam認為所有的記號(Token)都由空白字元(blanks, tabs , or newlines)分隔.
包括符號(:)和(;)也必須用空白字元分隔.
例外:
由引號(")包圍的記號中, 可以使用空白符號.
符號(/)可以轉義引號和空白字元.
由{}包圍的字串,可以使用空白符號,並且認為只是一個字串.
關鍵字,做為記號時,必須使用引號包圍.
內建Rule語意
1.建構依賴關係
DEPENDS targets1 : targets2 ;
使用target1依賴targets2, 如果targets2比targets1新, targets1會被重新為
.
#### 建構同位依賴, 使依賴targets2的目標同時也依賴targets1.
2.修改依賴關係
ALWAYS targets ;
LEAVES targets ;
NOCARE targets ;
NOTFILE targets ;
NOUPDATE targets ;
TEMPORARY targets ;
3.工具
ECHO args ;
顯示參數
卷downcase-opt
在directories中取出符合patterns的檔名.
MATCH regexps : list
從list中取出符合regexps的符號。
#流程控制
for var in list { statements }#為list中的每個執行一次statements, var被設計為list元素的值.
if cond { statements } [ else statements ] 顯然,else部分是可以選擇的.條件可以是:a 当a的元素中最少有一个非空字符串时为true; a = b 列表元素全部相同时为true a != b 列表元素不完全相同时为true a < b a和b中,第一个不相同的元素相比较, a的元素比b小(按字符串顺序). a <= b a中每个元素都比b对应元素小或相等 a > b a和b中,第一个不相同的元素相比较, a的元素比b大(按字符串顺序). a >= b a中每个元素都比b对应元素大或相等 a in b a所有元素都可以在b中找到,或者a是空表 ! cond 逻辑非 cond && cond 逻辑与 cond || cond 逻辑或 ( cond ) 优先运算include file ; 使用jam讀入file,並處理它.這個過程在解析階段發生,所以file不會被建造,也沒有檔案範圍.local vars [ = values ] ; 定義一個局部變數,在{}以外原變數的值會回存.return values ; #設定回傳值,注意在rule中,return並不跳出rule的執行程序.
switch value { case pattern1 : statements ; case pattern2 : statements ; ... }根據value執行一次或零次statements. pattern可以是以下符號通配符? 匹配一個任意字元* 符合零個或更多字元[chars] 符合chars中的任一個字元 [^chars] 符合不在chars中的任一個字元# /x 符合x(轉義其它通配符) while cond { statements } 在條件為真時,重複執行statement.
變數控制與內建變數
Jam變數是一個字串列表,它的元素可能是0個,也可以是多個字串.一個未定義的變數和一個空變數(0個元素)沒有區別.但是一個變數可以定義為含有多個空字串.
變數可以透過$(variable)來取值變數有"全域"或"目標專用"兩種.目標專用的變數只在建造目標時取值.變數定義的方式有以下幾種.variable = elements ; variable += elements ; variable on targets = elements ; variable on targets += elements ; variable default = elements ; variable ?= elements ;前兩種方式定義全域變數, 第三和第四種方式定義目標專用變數.=號可以重寫變數的內容. =連接原有內容和新內容.最後兩種效果一致:在變數沒有定義時,定義一個全域變數.
以上是python中jam如何使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python的靈活性體現在多範式支持和動態類型系統,易用性則源於語法簡潔和豐富的標準庫。 1.靈活性:支持面向對象、函數式和過程式編程,動態類型系統提高開發效率。 2.易用性:語法接近自然語言,標準庫涵蓋廣泛功能,簡化開發過程。

Python因其簡潔與強大而備受青睞,適用於從初學者到高級開發者的各種需求。其多功能性體現在:1)易學易用,語法簡單;2)豐富的庫和框架,如NumPy、Pandas等;3)跨平台支持,可在多種操作系統上運行;4)適合腳本和自動化任務,提升工作效率。

可以,在每天花費兩個小時的時間內學會Python。 1.制定合理的學習計劃,2.選擇合適的學習資源,3.通過實踐鞏固所學知識,這些步驟能幫助你在短時間內掌握Python。

Python適合快速開發和數據處理,而C 適合高性能和底層控制。 1)Python易用,語法簡潔,適用於數據科學和Web開發。 2)C 性能高,控制精確,常用於遊戲和系統編程。

學習Python所需時間因人而異,主要受之前的編程經驗、學習動機、學習資源和方法及學習節奏的影響。設定現實的學習目標並通過實踐項目學習效果最佳。

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 Linux新版
SublimeText3 Linux最新版

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器