我正在嘗試創建一個閉源lua文件,並且要這樣做,我承擔了一個風險,那就是他們正確的頭腦中沒有人需要很長時間才能轉換(它是某種形式的程序集),無論string.dump返回什麼。從string.dump中刪除源塊返回值
但是,string.dump也有一個字符串塊,它返回的代碼的完整源代碼被它轉儲。不管我做什麼,我似乎都無法創建一個自動的源代碼刪除器,將源代碼從返回的字符串中刪除 - 它似乎沒有按原樣傳遞,我不知道它是否刪除我的縮進,新的線條,空格,或者它在某些條件下或某些條件下刪除某些內容。
所以基本上;說我有
local a = string.dump(function() print("Hello world") end)
一個會是這樣的:
LuaQ(源)
但(我想保持這使得它工作,我猜的東西)我想刪除源塊,但是即使我傳入相同的源代碼來查找,string.find也不會找到它。
如果我哪裏不清楚,請說。
哦,所以它使用它來知道如果/當它出錯時應該提供哪些錯誤?如果我刪除了它,它會繼續運作嗎?如果我刪除它,那麼信息源將不再存在,是對的,還是我誤解了你所說的內容? –
@Ashley是的,它可能用它來顯示發生錯誤的行。 Lua在生成的字節碼中存儲文件校驗和和大小,並在運行字節碼之前檢查它們是否有效,所以不,我不認爲如果你手動從字符串中刪除它,它仍然可以工作。但是人們可能不會從'string.dump'中取出某些東西,並嘗試用lua來運行它,所以這取決於你。我想你可以給他們一個空的字符串,這也不會造成任何傷害,但這取決於你。 –
因此,無論我做什麼,我都需要以某種形式或形式釋放源代碼?感謝您的幫助。 –