123456789101112131415161718192021222324252627282930313233343536373839 |
- --
- -- File: LFS_dummy_strings.lua
- --[[
- luac.cross -f generates a ROM string table which is part of the compiled LFS
- image. This table includes all strings referenced in the loaded modules.
- If you want to preload other string constants, then one way to achieve this is
- to include a dummy module in the LFS that references the strings that you want
- to load. You never need to call this module; it's inclusion in the LFS image is
- enough to add the strings to the ROM table. Your application can use any strings
- in the ROM table without incuring any RAM or Lua Garbage Collector (LGC)
- overhead.
- The local preload example is a useful starting point. However, if you call the
- following code in your application during testing, then this will provide a
- listing of the current RAM string table.
- do
- local a=debug.getstrings'RAM'
- for i =1, #a do a[i] = ('%q'):format(a[i]) end
- print ('local preload='..table.concat(a,','))
- end
- This will exclude any strings already in the ROM table, so the output is the list
- of putative strings that you should consider adding to LFS ROM table.
- ---------------------------------------------------------------------------------
- ]]--
- -- luacheck: ignore
- local preload = "?.lc;?.lua", "/\n;\n?\n!\n-", "@init.lua", "_G", "_LOADED",
- "_LOADLIB", "__add", "__call", "__concat", "__div", "__eq", "__gc", "__index",
- "__le", "__len", "__lt", "__mod", "__mode", "__mul", "__newindex", "__pow",
- "__sub", "__tostring", "__unm", "collectgarbage", "cpath", "debug", "file",
- "file.obj", "file.vol", "flash", "getstrings", "index", "ipairs", "list", "loaded",
- "loader", "loaders", "loadlib", "module", "net.tcpserver", "net.tcpsocket",
- "net.udpsocket", "newproxy", "package", "pairs", "path", "preload", "reload",
- "require", "seeall", "wdclr", "not enough memory", "sjson.decoder","sjson.encoder",
- "tmr.timer"
|