跳轉到內容

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 檔案中的二進位制資料。IncbinPtrIncbinLen 都需要一個檔名引數。例如

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
華夏公益教科書