第一版是針對 Lua 5.0 編寫的。儘管在很大程度上仍然適用於後續版本,但仍有一些差異。
第四版針對 Lua 5.3,可在 Amazon 和其他書店購買。
購買這本書,您同時也能支持 Lua 專案。
![]() |
用 Lua 進行程式設計 | ![]() |
第四部分。C API 第 24 章。C API 概觀 |
Lua 是一種安全的語言。這表示不論您寫什麼,不論它有多麼錯誤,您都可以根據 Lua 本身來理解程式的行為。此外,錯誤也會根據 Lua 來偵測和說明。您可以將它與 C 做對比,在 C 中,許多錯誤程式的行為只能根據底層硬體來說明,而錯誤位置則以程式計數器提供。
每當您將新的 C 函式新增到 Lua 時,您可能會破壞這種安全性。例如,像 poke
這樣的函式,它會將任意位元組儲存在任意記憶體位址,可能會導致各種記憶體損毀。您必須努力確保您的附加元件對 Lua 是安全的,並提供良好的錯誤處理。
正如我們先前所討論的,每個 C 程式都有自己的錯誤處理方式。然而,當您為 Lua 編寫函式庫函式時,有一個處理錯誤的標準方式。每當 C 函式偵測到錯誤時,它會呼叫 lua_error
(或更好的 luaL_error
,它會格式化錯誤訊息,然後呼叫 lua_error
)。lua_error
函式會清除 Lua 中需要清除的所有內容,並跳回產生執行緒的 lua_pcall
,同時傳遞錯誤訊息。
版權所有 © 2003–2004 Roberto Ierusalimschy。保留所有權利。 | ![]() |