Tôi đã nhúng lua cùng với một đoạn mã bytecode vào một dự án được viết bằng C. Bây giờ khi tôi mở rộng cơ sở mã lua của tôi bằng cách thêm các tệp .lua, có cách nào để giữ mã này trong một đoạn mã bytecode không?Giữ mọi thứ trong một đoạn mã bytecode đơn lẻ?
(Tôi biết làm thế nào để tải nhiều khối bytecode. Nhưng làm cho nó tải một đoạn duy nhất và sau đó quên về mã keo sẽ chỉ có vẻ thoải mái.)
Tôi cố gắng để sử dụng bao gồm văn bản, nhưng có vẻ như không có từ khóa cho điều này trong Lua. "Yêu cầu" và "dofile" xem các tệp tại thời gian chạy, do đó kết quả bytecode sau khi chạy "lua -b ..." sẽ không bao gồm mã của các tệp đó.
Và không có cách nào để kết hợp các tệp bytecode, phải không? Ý tôi là, khi tạo một tệp bytecode, lệnh "require" sẽ thêm mã của tất cả các tệp đó vào một tệp bytecode.
PS: Câu trả lời của Michal Kottman hoạt động cho Lua, đó là những gì tôi yêu cầu. Tôi nghĩ Lua và LuaJIT sẽ làm việc theo cùng một cách. Họ không. Để kết hợp nhiều file .lua cho tập tin bytecode một LuaJIT, nên một
- sử dụng "LuaJIT -b" (dường như không làm việc)
- biên dịch luac.c Lua với nguồn LuaJIT
- thi đua luac.c với lệnh lua (không có API C)?
Đây là câu trả lời có thể về chủ đề và hữu ích. http://stackoverflow.com/questions/8936369/compile-lua-code-store-bytecode-then-load-and-execute-it –