-
在程式開發中預定義的表是登錄檔。
提供了乙個登錄檔,這是乙個預定義的表,可用於儲存 C **想要儲存的任何 lua 值。 可以使用有效的偽索引 lua registryindex 找到此表。 任何 C 庫都可以在此表中儲存資料,為了防止衝突,您需要注意不要選擇鍵名。
一般的用法是,你可以使用包含資料庫名稱的字串作為鍵名,或者以輕量級使用者資料的形式將你自己的 C 物件的位址作為鍵,或者使用你的 ** 建立的任何 lua 物件作為鍵。 關於變數名,字串鍵名中的下劃線名稱由 lua 保留。
登錄檔中的整數鍵用於引用機制以及一些預定義的值。 因此,整數鍵省略不應用於任何其他目的。
建立新的 lua 狀態機時,登錄檔中有幾個預定義的值。 可以使用整數對這些預定義值進行索引,整數在 中定義為常量。 有以下常量:
Lua Ridx Mainthread:登錄檔中的此索引是狀態機的主線程。 (主線程和狀態機是同時建立的。 )
Lua Ridx Globals:登錄檔索引的下面是全域性環境。
在內部實現中,Lua 使用 C 語言的 longjmp 機制來處理錯誤。 (如果您使用 C++ 進行編譯,Lua 將被異常替換; 詳情請搜尋luai扔在回覆鄭元**。 當 lua 遇到任何錯誤(例如記憶體分配錯誤、型別錯誤、語法錯誤和執行時錯誤)時,它會丟擲錯誤; 也就是說,稱為跳遠。
在受保護的環境中,Lua 使用 SetJMP 設定恢復點; 發生的任何錯誤都會跳轉到最近的恢復點。
如果錯誤發生在受保護環境之外,Lua 將呼叫 panic 函式 (),然後呼叫 abort 退出主機程式。 只要你的恐慌功能沒有恢復(例如,跳遠到你在 Lua 之外設定的恢復點),你就無法退出程式。
panic 函式作為錯誤訊息處理程式 () 執行; 錯誤訊息位於堆疊頂部。 不同之處在於它不保證堆疊空間。 在進行任何堆疊按下操作之前,緊急功能必須首先檢查是否有足夠的空間 ()。
大多數 API 函式都有可能引發錯誤,例如記憶體分配不正確。 每個函式的文件將指示它是否可能引發錯誤。
在 C 函式中,您可以通過呼叫 lua error 來丟擲錯誤。
-
計算機中的登錄檔是Windows作業系統的核心資料庫,它儲存各種引數並直接控制Windows的啟動,硬體驅動程式的載入以及某些Windows應用程式的執行。 可以說是Windows的神經中樞。
在登錄檔中,所有資料都以樹狀結構組織,其中包含鍵和子項,與目錄結構非常相似。 每個鍵都包含一組特定的資訊,每個鍵的鍵名與其包含的資訊相關。 如果此項包含子項,則在登錄檔視窗中,表示此項的資料夾左側將有乙個“+”符號,以指示此資料夾中還有更多內容。
如果此資料夾由使用者開啟,則此“+”將變為“”。
登錄檔通過項和子項管理各種資訊。 但是,登錄檔中的所有資訊都儲存在各種形式的鍵值資料中。 在登錄檔的右窗格中,儲存鍵值鍵鍵資料。 這些鍵值項鍊鍵資料可以分為三種型別:
1.字串值。
在登錄檔中,標尺字串值通常用於表示檔案的描述、硬體的標識等。 通常它由字母和數字組成,最大長度不能超過 255 個字元。
2.二進位值。
在登錄檔中,二進位值的長度不受限制,可以是任意位元組長。 在登錄檔中,二進位檔案以十六進製格式顯示。
價值。 dword 值是乙個 32 位(4 位元組,即雙字)值。 在登錄檔中,系統以十六進製方式顯示 dword 值。
進入登錄檔的命令是:regedit
<>如果您不熟悉登錄檔,建議在修改匯出登錄檔之前先備份它,並在出現問題時及時恢復它。 >>>More