BlitzMax/語言/專案管理
外觀
的 Import 語句提供了一種高效的方式將您的專案拆分為多個檔案。匯入的語法是
- Import 檔名
檔名 必須是一個用引號引起來的字串文字,帶有可識別的原始檔副檔名,例如 'bmx'。
匯入一個檔案會使該檔案中宣告的所有全域性變數、常量、函式和使用者定義型別可用於當前正在編譯的檔案。
匯入的檔案可以被預編譯。這意味著如果您有一個被拆分為多個原始檔的專案,只有實際修改的檔案(以及這些修改影響的檔案)需要重新編譯。例如,假設您有一個被拆分為兩個原始檔的專案
'file1.bmx Import "file2.bmx" Print Test() 'file2.bmx Function Test:String() Return "This is a test!" End Function
如果 file2.bmx 隨後被修改,則兩個檔案都需要重新編譯,因為不僅 file2.bmx 發生了變化,而且它的變化也可能影響 file1.bmx。
但是,如果只有 file1.bmx 被修改,則無需重新編譯 file2.bmx。BlitzMax 的 BMK]] 實用程式會為您處理所有這些。
Import 的一個重要限制是您不能建立匯入的“迴圈”。
Include 是另一種將專案拆分為多個檔案的方式。Include 的語法與 Import 相同,但是包含的檔案只是“逐字地”插入到包含檔案中,而不是單獨編譯。
根據平臺和專案,Include 可能比 Import 更快。它還允許您繞過 Import 的“無迴圈”限制。
Incbin 語句允許您將二進位制檔案與您的程式一起包含。Incbin 的語法與 Import 相同,但是可以指定任何型別的檔案,而不僅僅是 'bmx' 檔案。
您可以使用 IncbinPtr(返回一個 Byte Ptr)和 IncbinLen(返回一個 Int)訪問包含在 incbin 檔案中的二進位制資料。IncbinPtr 和 IncbinLen 都需要一個檔名引數。例如
Incbin "data.bin" Local p:Byte Ptr=IncbinPtr( "data.bin" ) Local n:Int=IncbinLen( "data.bin" ) For Local i=0 Until n Print "Byte "+i+":"+p[i] Next