Mudlet: ํŒŒ์ผ ๊ฒฝ๋กœ์— ASCII๊ฐ€ ์•„๋‹Œ Windows ์‚ฌ์šฉ์ž๋Š” LuaGlobal์„๋กœ๋“œ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 04์›” 17์ผ  ยท  38์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Mudlet/Mudlet

๋ฌธ์ œ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์š”์•ฝ / ์š”์ฒญ ๋œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์„ค๋ช… :

  1. Mudlet์ด ๋‹ค์‹œ ์„ค์น˜๋˜๊ณ  ์ƒˆ ํ”„๋กœํ•„๋กœ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  2. ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
  3. Mudlet์—๋Š” Geyser์™€ ๊ฐ™์€ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์ด ์—†์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž / ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„์˜ ํŠน์ˆ˜ ๋ฌธ์ž๋Š” Mudlet ๊ธฐ๋Šฅ์— ์˜ํ–ฅ์„ ์ฃผ๊ฑฐ๋‚˜ ๋ฐฉํ•ดํ•˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ Mudlet์— ๋Œ€ํ•œ ์ตœ๊ทผ ์—…๋ฐ์ดํŠธ์—์„œ ๋‚˜์˜จ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ ๋‹จ์ˆœํžˆ ๊ฐ„ํ—์ฒœ๋ณด๋‹ค ํ›จ์”ฌ ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์†์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

๋ฌธ์ œ ์žฌํ˜„ ๋‹จ๊ณ„ / ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์ด์œ  :

  1. ๋‚ด ์ปดํ“จํ„ฐ # 1์—์„œ๋Š” ์—ฌ๋Ÿฌ ๋ฒˆ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‚ด ์ปดํ“จํ„ฐ # 2์—์„œ๋Š” ์žฌํ˜„ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  2. ์ „์ฒด ๊ฒฝ๋กœ๋Š” C : \ Users \ Eingeschrรคnkt \ AppDataLocal \ Mudlet์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ด๋ฆ„์˜ ํŠน์ˆ˜ ๋ฌธ์ž ๋•Œ๋ฌธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. @keneanung ๋Œ“๊ธ€ : ์ž๋™ ์—…๋ฐ์ดํŠธ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ•  ๋•Œ ์„ค์น˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ C:\Program Files\ ์—์„œ ์‚ฌ์šฉ์ž ํ”„๋กœํ•„๋กœ ๋ณ€๊ฒฝํ–ˆ๋Š”๋ฐ ์ตœ๊ทผ์— ๊ทธ ์œ„์น˜์—์„œ ๋ณ€๊ฒฝ ํ•œ ๋‚ด์šฉ์ด ๊ธฐ์–ต ๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. UTF-8 ๊ฒฝ๋กœ ์ด๋ฆ„์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ฝ”๋“œ _looks_

์˜ค๋ฅ˜ ์ถœ๋ ฅ / ๊ธฐ๋Šฅ์˜ ์˜ˆ์ƒ ๊ฒฐ๊ณผ

[์˜ค๋ฅ˜] LuaGlobal.lua ์ปดํŒŒ์ผ ์˜ค๋ฅ˜
Lua ์˜ค๋ฅ˜ : /LuaGlobal.lua๋ฅผ ์—ด ์ˆ˜ ์—†์Œ : ํ•ด๋‹น ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
grafik

Mudlet ๋ฒ„์ „, ์šด์˜ ์ฒด์ œ ๋ฐ ํ•ด๊ฒฐ / ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์•„์ด๋””์–ด์™€ ๊ฐ™์€ ์ถ”๊ฐ€ ์ •๋ณด :

Win7์˜ Mudlet 3.8.1

Windows bug i18n & l10n medium

๋ชจ๋“  38 ๋Œ“๊ธ€

Windows๋Š” ๊ฒฝ๋กœ ์ด๋ฆ„์ด ์ด์ƒํ•œ ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. Lua์˜ ํŒŒ์ผ ๊ธฐ๋Šฅ์€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์Šฌ๋ž˜์‹œ ๋œ ๊ฒฝ๋กœ ์ด๋ฆ„์„ ์ œ๊ณตํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. C ++ ์ฝ”๋“œ์—์„œ C ++ 11 ์›์‹œ ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ (๊ทธ๋ฆฌ๊ณ  QObject::tr( ... ) ์œผ๋กœ Qt ๋ฒ„๊ทธ๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค) ๋‹จ์ผ / ๊ดœ์ฐฌ์•„ ์‹œ์Šคํ…œ์„์œ„ํ•œ ํ•˜๋“œ ์ฝ”๋”ฉ ๊ฒฝ๋กœ ์ด๋ฆ„์€์— * ์ด์ค‘ \\\\ ๊ฐ€ ๋ฃจ์•„ ํ•จ์ˆ˜๋กœ ์ „์†ก ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค ๊ฒฝ์šฐ - ++ ์ปดํŒŒ์ผ์ด ๊ฐ ์ŠคํŠธ๋ฆฝ์€ C \\ \ ๊นŒ์ง€ ๋‚ด๋ ค ๊ฐ€๊ณ  lua ์ธํ„ฐํ”„๋ฆฌํ„ฐ์—์„œ๋„ ๊ฐ™์€ ์ผ์ด ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค.

[ ERROR ] ๋ฉ”์‹œ์ง€์˜ ๊ฒฝ๋กœ๋Š” LuaGlobal.lua ํŒŒ์ผ ์ด๋ฆ„ ์•ž์— ์ถ”๊ฐ€ ํ•  ๊ฒฝ๋กœ๊ฐ€ ./ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋‚จ์•„ ์žˆ์œผ๋ฏ€๋กœ Mudlet ์‹คํ–‰ ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ-๊ทธ๋Ÿฌ๋‚˜ * Doze์˜ ๊ฒฝ์šฐ C ++ ์†Œ์Šค ์ฝ”๋“œ์—์„œ ์ตœ์†Œํ•œ .\\ ๋˜๋Š” .\\\\ ๋กœ ๋ณ€๊ฒฝํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค!

์ด๊ฒƒ์€ ๋˜ํ•œ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธ QDir::nativeSeparators( ... ) ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€๊ณ ์žˆ๋Š” C ++ ์ฝ”๋“œ์—์„œ ์›์‹œ ๋ฌธ์ž์—ด๋กœ ๊ฒฝ๋กœ / ํŒŒ์ผ ์ด๋ฆ„์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ ์˜ฌ๋ฐ”๋ฅธ ์ผ์„ํ•˜์ง€ ์•Š๋Š” ์ •์  ๋ฉ”์„œ๋“œ Lua ์ธํ„ฐํ”„๋ฆฌํ„ฐ์— ๋ฌธ์ž์—ด๋กœ ๊ณต๊ธ‰๋ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๋‹น์‹ ์˜ ์˜๊ฒฌ์„ ์ดํ•ดํ–ˆ๋Š”์ง€ ๋˜๋Š” ๊ทธ๋“ค์ด ์‹ค์ œ๋กœ ๋‚˜๋ฅผ ํ–ฅํ•œ ๊ฒƒ์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค .. :)

์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ตฌ์„ฑํ•˜์ง€ ์•Š๊ณ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๊ทธ๊ฒƒ์„ ๋ณด๋Š” ์‚ฌ๋žŒ์—๊ฒŒ๋Š” ์ผ๋ฐ˜์ ์ธ ๊ด€์ฐฐ์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. ํŠนํžˆ Windows ํ”Œ๋žซํผ์—์„œ LuaGlobel.lua ํŒŒ์ผ์„๋กœ๋“œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ ๋œ ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. OS๊ฐ€ "์‹คํ–‰ ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ"์ผ ์ˆ˜ ์žˆ์ง€๋งŒ POSIX๊ฐ€ ์•„๋‹Œ ๊ฒฝ๋กœ๋กœ ์ธํ•ด ์ ํ•ฉํ•˜์ง€ ์•Š์€ ์ผ๋ถ€ ๊ธฐ๋ณธ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์˜์‹ฌ๋ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ์˜ ์›์ธ์ด ๋ฌด์—‡์ธ์ง€ ์‚ดํŽด๋ณด๋ฉด ๋‹ค์Œ๊ณผ

void TLuaInterpreter::loadGlobal()
{
#if defined(Q_OS_MACOS)
    // Load relatively to MacOS inside Resources when we're in a .app bundle,
    // as mudlet-lua always gets copied in by the build script into the bundle
    QString path = QCoreApplication::applicationDirPath() + "/../Resources/mudlet-lua/lua/LuaGlobal.lua";
#else
    // Additional "../src/" allows location of lua code when object code is in a
    // directory alongside src directory as occurs using Qt Creator "Shadow Builds"
    QString path = "../src/mudlet-lua/lua/LuaGlobal.lua"; // <== A
#endif

    int error = luaL_dofile(pGlobalLua, path.toUtf8().constData());
    if (error != 0) {
        // For the installer we do not go down a level to search for this. So
        // we check again for the user case of a windows install.

        // overload previous behaviour to check by absolute path as well
        // TODO this sould be cleaned up and refactored to just use an array and a for loop
        path = QCoreApplication::applicationDirPath() + "/mudlet-lua/lua/LuaGlobal.lua"; // <== B
        if (!QFileInfo::exists(path)) {
            path = "mudlet-lua/lua/LuaGlobal.lua"; // <== C
        }
        error = luaL_dofile(pGlobalLua, path.toUtf8().constData());
        if (error == 0) {
            mpHost->postMessage("[  OK  ]  - Mudlet-lua API & Geyser Layout manager loaded.");
            return;
        }
    } else {
        mpHost->postMessage("[  OK  ]  - Mudlet-lua API & Geyser Layout manager loaded.");
        return;
    }

    // Finally try loading from LUA_DEFAULT_PATH
    path = LUA_DEFAULT_PATH "/LuaGlobal.lua"; // <== D
    error = luaL_dofile(pGlobalLua, path.toUtf8().constData());
    if (error != 0) {
        string e = "no error message available from Lua";
        if (lua_isstring(pGlobalLua, -1)) {
            e = "[ ERROR ] - LuaGlobal.lua compile error - please report!\n"
                "Error from Lua: ";
            e += lua_tostring(pGlobalLua, -1);
        }
        mpHost->postMessage(e.c_str());
    } else {
        mpHost->postMessage("[  OK  ]  - Mudlet-lua API & Geyser Layout manager loaded.");
        return;
    }
}

์˜ˆ๋ฅผ ๋“ค์–ด A๋Š” "..\\\\src\\\\mudlet-lua\\\\lua\\\\LuaGlobal.lua" ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๊ฒƒ๋“ค์€ / ์—์„œ \\\\ ๋กœ ๋Ÿฐํƒ€์ž„ ๊ต์ฒด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌํ„ฐ๋Ÿด ๋ฌธ์ž์—ด๊ณผ ํฌํ•จ ๋œ ๋ณ€์ˆ˜ ๋ชจ๋‘. ํ•ญ๋ชฉ ๋งจ ์œ„์—์žˆ๋Š” ์›๋ž˜ ์˜ค๋ฅ˜๋Š” Windows์—์„œ ์‚ฌ์šฉํ•  ๋•Œ LUA_DEFAULT_PATH ๊ฐ€ ๋น„์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค!

์ด ํ™”๋ฉด์˜ ๋””๋ฒ„๊น… ๊ฒฝ์šฐ ๊ธฐ์–ต [ ERROR ] ๋ฉ”์‹œ์ง€ ๊ฒƒ์€ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ๋ชจ๋‘๋ฅผ ๊ฑฐ์นœ ๊ฒฝ๋กœ ์žฌํ˜„ \\ ์— \ ํ•ด์ œ escapings์„ ์ง„์งœ, ์ ์ ˆํ•œ ๊ฐ™์•„์•ผํ•ฉ๋‹ˆ๋‹ค ํ™”๋ฉด์ƒ์˜ Windows ๊ฒฝ๋กœ-์ œ๊ณต๋œ ๊ฒฝ์šฐ \LuaGobal.lua -๋˜ํ•œ ์ž˜๋ชป๋œ ๊ฒƒ์ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ .\LuaGobal.lua ์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ LUA_DEFAULT_PATH ๋Š” .\LuaGobal.lua ์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค .\\\\ ๋Œ€์‹ ?

Windows์˜ Lua๋Š” /๋ฅผ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ๋ถ„์ž๋กœ ์ž˜ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์€ ๋‚ด ๋‹ค์†Œ ์ œํ•œ๋œ ๊ฒฝํ—˜์ด ์•„๋‹™๋‹ˆ๋‹ค .IIRC์—๋Š” ๋ฌด์—‡๋ณด๋‹ค๋„ ํŒจํ‚ค์ง€ ์ด๋ฆ„์˜ ์™€์ผ๋“œ ์นด๋“œ ๋ฌธ์ž์™€ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ์— ๋Œ€ํ•œ ์„ค์ •์—์„œ ์ปดํŒŒ์ผ ๋œ 4 ๋ฌธ์ž ๋ฐฐ์—ด์„ ํฌํ•จํ•˜๋Š” ๊ตฌ์„ฑ ์„ค์ •์ด lua ํ•ญ๋ชฉ ์–ด๋”˜๊ฐ€์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์„ ๊ธฐ์–ต ๋•Œ๋ฌธ์— ๋‚ด๊ฐ€ ๊ณ ์ณ ๋•Œ (๋‚ด๋ถ€์—) LuaGlobal.lua ์œˆ๋„์šฐ์˜ ์ฒ˜๋ฆฌ ๋Œ€ * nix์—์„œ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ๊ฒฝ๋กœ์—์„œ ๋‚˜๋Š”์ด์— ํ•˜๋‚˜ ๊ฐœ์˜ C ๋ฐฐ์—ด ์ธ๋ฑ์Šค์— ์ƒ๊ฐ์— ์ˆ˜ํ‘œ ์‚ฌ์šฉํ–ˆ๋˜ ๊ณผ๊ฑฐ์˜ config char array for '\\' ๋˜๋Š” '/' -๋‚˜์ค‘์— ๋” ๋‚˜์€ ์†”๋ฃจ์…˜์„ ์ฐพ์•˜๋‹ค ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์•„, ํ•˜-์˜ˆ- package.config ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ๋ฐ”๋กœ Lua ๋น„๊ณต์‹ FAQ์˜ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค .

1.40 Windows์™€ Unix ๊ฐ„์˜ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ?

์—ฌ๊ธฐ์„œ 'Unix'๋Š” Linux, Mac OS X, Solaris ๋“ฑ๊ณผ ๊ฐ™์€ POSIX์™€ ์œ ์‚ฌํ•œ ์šด์˜ ์ฒด์ œ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

package.config ๋Š” ์ฒซ ๋ฒˆ์งธ '๋ฌธ์ž'๊ฐ€ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ ์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ package.config:sub(1,1) ๋Š” ์Šฌ๋ž˜์‹œ ๋˜๋Š” ๋ฐฑ ์Šฌ๋ž˜์‹œ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฒฝ๋กœ๋ฅผ ๋งŒ๋“ค ๋•Œ ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

Windows์™€ Unix ๋นŒ๋“œ์˜ ํฐ ์ฐจ์ด์ ์€ ๊ธฐ๋ณธ package.path๋Š” Windows ์‹คํ–‰ ํŒŒ์ผ์˜ ์œ„์น˜๋ฅผ โ€‹โ€‹๊ธฐ๋ฐ˜์œผ๋กœํ•˜๋Š” ๋ฐ˜๋ฉด Unix์—์„œ๋Š” /usr/local/share/lua/5.1 ๊ธฐ๋ฐ˜์œผ๋กœํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Windows์—์„œ Lua์˜ ๋กœ์ปฌ ์‚ฌ์šฉ์ž ์„ค์น˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฝ์ง€๋งŒ Lua๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜ LUA_PATH ๋ฐ LUA_CPATH ์กด์ค‘ํ•ฉ๋‹ˆ๋‹ค.

Lua๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด๋ณด๋‹ค ์‹œ์Šคํ…œ์˜ C ๋Ÿฐํƒ€์ž„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋” ์ง์ ‘์ ์œผ๋กœ ์˜์กดํ•˜๋ฏ€๋กœ ํ”Œ๋žซํผ์˜ ์ฐจ์ด์ ์„ ์ดํ•ดํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. Windows ๋ฐ”์ด๋„ˆ๋ฆฌ I / O์™€์˜ ํ˜ธํ™˜์„ฑ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ io.open ์™€ ํ•จ๊ป˜ "rb" ์ง€์ •์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. os.tmpname ๋Š” Windows์—์„œ ์ „์ฒด ๊ฒฝ๋กœ๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ์ฃผ์˜ํ•˜์‹ญ์‹œ์˜ค ( TMP ํ™˜๊ฒฝ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋จผ์ € ๋ฐฑ ์Šฌ๋ž˜์‹œ์™€ ํ•จ๊ป˜ ์ ‘๋‘์‚ฌ). os.clock ๋Š” ๋งค์šฐ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. Windows์—์„œ๋Š” ๋‹ค๋ฅด๊ฒŒ.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ os.time ๋Š” ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ํ˜•์‹ ์ง€์ •์ž๋ฅผ ์ „๋‹ฌํ•˜๋ฉด ์‹ค์ œ๋กœ Lua๋ฅผ ์ถฉ๋Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์ด๋Š” ๋” ์ด์ƒ ์˜จ ์ „์„ฑ ๊ฒ€์‚ฌ๋ฅผ ๋จผ์ € ์ˆ˜ํ–‰ํ•˜๋Š” Lua 5.2์—์„œ ๋ฌธ์ œ๊ฐ€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)

Windows GUI ํ•˜์œ„ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ os.execute ๋Š” ์งœ์ฆ์„ ๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ io.popen ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.์ด ๊ฒฝ์šฐ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ™•์žฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

'์ผ๋ฐ˜์ ์ธ ๊ทœ์น™'-๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ๋ถ„์ž๋กœ / ๊ฐ€ Lua์˜ Windows์—์„œ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์— ๋ฐ˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ์ € ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ €๋ฅผ ํฌํ•จํ•œ ์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ์ •์ƒ ์ธ์šฉ ๋œ ๋ ˆ์‹œํ”ผ์— ๋”ฐ๋ผ ์ค€๋น„๋œ ๋ฃจ์•„ ์„ค์น˜๊ฐ€ ์—†์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค (๋˜๋Š” Cygwin๋„ ์„ค์น˜๋˜์–ด์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค).

๋ฃจ์•„ ์„œ๋ธŒ ์‹œ์Šคํ…œ (๋˜๋Š” ํŒจํ‚ค์ง€ ๋ถ€๋ถ„)์ด ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ๋ถ„์ž๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ํ˜น์‹œ ํ˜ผ๋ž€ ์Šค๋Ÿฝ์Šต๋‹ˆ๊นŒ? ์–ด๋Š ์ชฝ์ด๋“  ๊ตฌ์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (๋˜๋Š” ' for RISCOS ๋ถ„๋ช…ํžˆ!), ๋‘˜ ๋‹ค ์ˆ˜์šฉ ํ•  Windows cmd ๋˜๋Š” powerline ์‰˜ ๋˜๋Š” ๋‘˜ ๋‹ค ์ฒ˜๋ฆฌ ํ•  Qt C ++ ์ฝ”์–ด?

Windows ํ”Œ๋žซํผ์—์„œ ์ปดํŒŒ์ผ ๋œ lua ์„ค์น˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•ด์•ผํ•˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ํ˜ผ๋ž€ ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. msys๊ฐ€ POSIX-ish์ด์ง€๋งŒ mingw๋Š” Windowish์ผ๊นŒ์š”?

์•„๋‹ˆ์š”, ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— LuaGlobal.lua์—์„œ /๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ˜„์žฌ ์ƒํƒœ์—์„œ Windows์˜ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

selection_112

์—ฌ๊ธฐ์„œ ๊ฒฝ๋กœ ๊ตฌ๋ถ„์ž๋Š” ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์•„๋งˆ๋„ Qt์˜ mingw์—์žˆ๋Š” lua ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ Windows ์šฉ์œผ๋กœ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ณ  Mudlet ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์—ฐ๊ฒฐ๋œ ๋™์ผํ•œ liblua๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, luarocks ๋Š” lua 5.1 ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.์ด ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ๋‹ค๋ฅธ ๊ฒƒ์„ ์ฐพ์„ ์ˆ˜์—†๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋™์ผํ•œ ํ† ํฐ์œผ๋กœ ~ it ~ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐ€ ๋Œ€์‹  ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ์•„, ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค, @Kebap ๋‹น์‹ ์ด ์˜ค๋ฅ˜๋ฅผ package.config ์˜ ๊ฐ’์„ ์–ป์œผ๋ ค๊ณ ํ•˜๋ฉด ๋ฌด์—‡์„ ์–ป์Šต๋‹ˆ๊นŒ? ์˜ˆ๋ฅผ ๋“ค์–ด, ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ์‹œ์Šคํ…œ์—์„œ ๋ช…๋ น ์ค„์—์„œ :

[stephen<strong i="11">@ripley</strong> ~]$ lua51
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> print(package.config)
/
;
?
!
-
> ^D
[stephen<strong i="12">@ripley</strong> ~]$

LuaGlobal.lua ํŒŒ์ผ๊ณผ ๊ฐ™์ด ํŒจํ‚ค์ง€๋ฅผ๋กœ๋“œ ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ ์ธ ์ฒซ ๋ฒˆ์งธ ๊ฐ’ / ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค! ๋ฌผ๋ก  ์™ธ๋ถ€ lua ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰ / ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์œผ๋ฉด Mudlet์˜ "๋ช…๋ น ์ค„"์—์„œ ํ•ญ๋ชฉ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ธฐ์–ตํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‚˜์ค‘์— '์ž ์ž๊ธฐ ๋žฉํ†ฑ ์ปดํ“จํ„ฐ๋ฅผ ์ผœ๊ณ  ๊ทธ ์ปดํ“จํ„ฐ์—์„œ ๋ฌด์—‡์„ ์–ป๋Š” ์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค ...

๋ฌผ๋ก  ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
grafik
์Šฌ๋ž˜์‹œ๊ฐ€์žˆ๋Š” ๊ณณ์— ๋ฐฑ ์Šฌ๋ž˜์‹œ๊ฐ€์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๊ณผ ์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์‹  ๊ฒƒ ๊ฐ™์•„์„œ ๋จธ๋“ค ๋ ›์—์„œ ์‹œ๋„ ํ•ด๋ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ๋„ค์š” ..?

์‚ฌ์šฉ์ž ์ด๋ฆ„์ด ์‹ค์ œ๋กœ ๋ฌธ์ œ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ˆ˜ ๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜๊ฑฐ๋‚˜ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ์ƒˆ ์‚ฌ์šฉ์ž๋ฅผ ํ•œ๋‘ ๋ช… ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„์›€์ด๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

์˜ˆ, ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค

2018 ๋…„ 4 ์›” 25 ์ผ ์ˆ˜์š”์ผ ์˜คํ›„ 6:48 Kebap, [email protected] ์ž‘์„ฑ :

ํŠน์ˆ˜ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ƒˆ ์‚ฌ์šฉ์ž๋ฅผ ํ•œ๋‘ ๋ช… ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž ์ด๋ฆ„์ด ์‹ค์ œ๋กœ ๋ฌธ์ œ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์ƒ๊ฐํ•ฉ๋‹ˆ๊นŒ
๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?

โ€”
๋Œ“๊ธ€์„ ๋‹ฌ์•˜ ๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์‹  ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/Mudlet/Mudlet/issues/1616#issuecomment-384355980 ๋˜๋Š” ์Œ์†Œ๊ฑฐ
์‹ค
https://github.com/notifications/unsubscribe-auth/AAGxjN9JHbiPCOgUf3u1u8jVg0KjDiSbks5tsKj3gaJpZM4TZAbQ
.

๋‚ด๊ฐ€ ๋ณผ ์ˆ˜์žˆ๋Š” ํ•œ, ์ฝ”๋“œ๋Š” LuaGlobal.lua ํŒŒ์ผ์— ๋Œ€ํ•ด ์ œ์•ˆ ๋œ ๋ชจ๋“  ์œ„์น˜๋ฅผ ์‹œ๋„ํ•˜๊ณ  ๋งˆ์นจ๋‚ด ์‹œ๋„ํ•˜๋Š” ์œ„์น˜์— ๋„๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

LUA_DEFAULT_PATH "/LuaGlobal.lua"

๊ทธ๋Ÿฌ๋‚˜ ๊ฒฐ๊ณผ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์—์„œ LUA_DEFAULT_PATH๋Š” ๋นˆ ๋ฌธ์ž์—ด์ด๋ฏ€๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

/LuaGlobal.lua

'/'๊ฐ€ ์ž‘๋™ ๊ฐ€๋Šฅํ•œ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ๋ผ๊ณ  ๊ฐ€์ •ํ•˜๋ฉด (๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” ์—ฌ์ „ํžˆ ํ™•์‹ ํ•˜์ง€ ๋ชปํ•˜์ง€๋งŒ ๊ทธ๊ฒƒ์€ ๋‚ด ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค) '/'๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ณณ์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ๋ผ๋Š” ๊ฒƒ์€ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋ฃจํŠธ ์—์„œ ํŒŒ์ผ์„ ์ฐพ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค-POSIX์˜ ๊ฒฝ์šฐ ๋ง ๊ทธ๋Œ€๋กœ ๋ฃจํŠธ์ด๊ณ  Windows์—์„œ๋Š” ํ˜„์žฌ ํ™œ์„ฑ ๋“œ๋ผ์ด๋ธŒ์˜ ๋ฃจํŠธ์ž…๋‹ˆ๋‹ค. C:\ (๋˜๋Š” C:/ : wink :)-์ •๋ง๋กœ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ๊ฐ€๋˜๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๋ฉด LUA_DEFAULT_PATH ๋Š” ๋‹จ์ผ . ๋ฌธ์ž ์—ฌ์•ผํ•˜๋ฉฐ ์™„์ „ํžˆ ๋น„์–ด ์žˆ์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.์ด ๊ฒฝ์šฐ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

... cannot open ./LuaGlobal.lua ...

๋˜๋Š” ์ „์ฒด ๊ฒฝ๋กœ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

... cannot open C:/Users/Eingeschrรคnkt/AppData/Local/Mudlet/LuaGlobal.lua ...

์•„๋งˆ๋„? ๐Ÿ˜ฎ

lua ์ธํ„ฐํ”„๋ฆฌํ„ฐ์˜ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ std::string ์บก์ฒ˜๋˜๊ณ  std::string::c_str() ๋ณ€ํ™˜์„ ํ†ตํ•ด cTelnet::postMessage( ... ) ์ „์†ก๋ฉ๋‹ˆ๋‹ค. const char * ํ•˜์ง€๋งŒ postMessage ๋Š” QString ์˜ˆ์ƒํ•˜๋ฏ€๋กœ QString::fromUtf8() ๋ณ€ํ™˜๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” QString :: QString (const char str) ์ƒ์„ฑ์ž ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋น„ ASCII ๋ฌธ์ž * ์†์ƒ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ํ†ต๊ณผํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค ... ๐Ÿ˜Œ

\

lua print(package.config)

์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ Mudlet ํ”„๋กœํ•„ ๋ช…๋ น ์ค„์—์„œ.

์ด๊ฒƒ์€ ์•ฝ๊ฐ„์˜ ์ถ”์ธก์ด์ง€๋งŒ ๋Ÿฐํƒ€์ž„ ์ˆ˜์ •์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

lua package.config = "/;?!_"

๊ตฌ๋ถ„ ๊ธฐํ˜ธ๋ฅผ / ๋กœ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด-์œ„์˜ ; ์—์„œ ๋ถ„ํ• ํ•˜์ง€ ์•Š๋„๋ก ๊ธฐ๋ณธ ์„ค์ •์—์„œ "๋ช…๋ น ๊ตฌ๋ถ„ ๊ธฐํ˜ธ"์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. LuaGlobal.lua ํŒŒ์ผ์„ ์ˆ˜๋™์œผ๋กœ "์‹คํ–‰"ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์˜ค, ๊ทธ๋ž˜๋„ ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉด [ ERROR ] ์œ ํ˜• ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. \

ํŠน์ˆ˜ ๋ฌธ์ž๊ฐ€์žˆ๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„์ด์žˆ๋Š” Win 8.1์˜ Mudlet 3.8.1์—์„œ ํ™•์ธ ๋œ ์˜ค๋ฅ˜ : รค.
ํŠน์ˆ˜ ๋ฌธ์ž์—†์ด ์‚ฌ์šฉ์ž ์ด๋ฆ„์— ์˜ค๋ฅ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

lua print(package.config) ๊ฒฐ๊ณผ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ
lua print('test') ๋„ ๊ฒฐ๊ณผ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ
lua ๋ณ„์นญ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ print ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
lua echo('test') ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ ํ•จ

lua package.config = "/;?!_"
์˜ค๋ฅ˜ ๋กœ๊ทธ ๋‚ด์šฉ : ERROR:[string "Alias: run lua code"]:4: [string "package.config = "/"]:1: unfinished string near '<eof>'

๋ช…๋ น ๊ตฌ๋ถ„์ž๊ฐ€์—์„œ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฒƒ์—

lua package.config = "/;?!_"
์•Œ์•˜์–ด? ๊ฒฐ๊ณผ๊ฐ€ ๋ณด์ด์ง€ ์•Š์Œ

lua run("./LuaGlobal.lua")
์˜ค๋ฅ˜ ๋กœ๊ทธ ๋‚ด์šฉ : ERROR:[string "return run("./LuaGlobal.lua")"]:1: attempt to call global 'run' (a nil value)

include ํ…Œ์ŠคํŠธ-๋™์ผํ•œ ์˜ค๋ฅ˜.

lua require("./LuaGlobal.lua") -ํฅ๋ฏธ๋กœ์šด ์˜ค๋ฅ˜ :
ERROR:[string "return require("./LuaGlobal.lua")"]:1: module './LuaGlobal.lua' not found: no field package.preload['./LuaGlobal.lua'] no file 'C:\Users\Eingeschrรคnkt\.config\mudlet\profiles\new profile name\\/LuaGlobal\lua.lua' no file 'C:\Users\Eingeschrรคnkt\.config\mudlet\profiles\new profile name\\/LuaGlobal\lua\init.lua' no file '.\\/LuaGlobal\lua.lua' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\lua\\/LuaGlobal\lua.lua' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\lua\\/LuaGlobal\lua\init.lua' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\\/LuaGlobal\lua.lua' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\\/LuaGlobal\lua\init.lua' no file 'C:\Users\Eingeschrรคnkt\.config\mudlet\profiles\new profile name\\/LuaGlobal\lua' no file '.\\/LuaGlobal\lua.dll' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\\/LuaGlobal\lua.dll' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\loadall.dll' no file 'C:\Users\Eingeschrรคnkt\.config\mudlet\profiles\new profile name\' no file '.\.dll' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\.dll' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\loadall.dll'

ํ™•์‹คํžˆ lua require("/LuaGlobal.lua")
์˜ค๋ฅ˜ ๋กœ๊ทธ ๋‚ด์šฉ :
ERROR:[string "return require("/LuaGlobal.lua")"]:1: module '/LuaGlobal.lua' not found: no field package.preload['/LuaGlobal.lua'] no file 'C:\Users\Eingeschrรคnkt\.config\mudlet\profiles\new profile name\/LuaGlobal\lua.lua' no file 'C:\Users\Eingeschrรคnkt\.config\mudlet\profiles\new profile name\/LuaGlobal\lua\init.lua' no file '.\/LuaGlobal\lua.lua' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\lua\/LuaGlobal\lua.lua' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\lua\/LuaGlobal\lua\init.lua' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\/LuaGlobal\lua.lua' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\/LuaGlobal\lua\init.lua' no file 'C:\Users\Eingeschrรคnkt\.config\mudlet\profiles\new profile name\/LuaGlobal\lua' no file '.\/LuaGlobal\lua.dll' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\/LuaGlobal\lua.dll' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\loadall.dll' no file 'C:\Users\Eingeschrรคnkt\.config\mudlet\profiles\new profile name\/LuaGlobal' no file '.\/LuaGlobal.dll' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\/LuaGlobal.dll' no file 'C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\loadall.dll'

์ž‘๋™ํ•˜์ง€ ์•Š๋Š” print ์— ๋Œ€ํ•ด ์ด์ƒํ•ฉ๋‹ˆ๋‹ค-๋ฃจ์•„๊ฐ€ ๋‚ด์žฅ๋˜์–ด ์žˆ์ง€๋งŒ-ํ•˜์ง€๋งŒ :

lua echo(package.config)

์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์ž‘์—… ์˜ˆ์ œ์˜ ์ถœ๋ ฅ์„ ๋ณด๋ฉด ์˜ค๋ฅ˜ ์ถœ๋ ฅ์ด LuaGlobal.lua ํŒŒ์ผ์„๋กœ๋“œํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ํŒŒ์ผ ์ด๋ฆ„๊ณผ ๊ฒฝ๋กœ๊ฐ€ ์‹œ๋„๋˜๋Š”์ง€ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. C:\Users\Eingeschrรคnkt\.config\mudlet\profiles\new profile name\\/LuaGlobal\lua.lua
  2. C:\Users\Eingeschrรคnkt\.config\mudlet\profiles\new profile name\\/LuaGlobal\lua\init.lua
  3. .\\/LuaGlobal\lua.lua
  4. C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\lua\\/LuaGlobal\lua.lua
  5. C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\lua\\/LuaGlobal\lua\init.lua
  6. C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\\/LuaGlobal\lua.lua
  7. C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\\/LuaGlobal\lua\init.lua
  8. C:\Users\Eingeschrรคnkt\.config\mudlet\profiles\new profile name\\/LuaGlobal\lua
  9. .\\/LuaGlobal\lua.dll
  10. C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\\/LuaGlobal\lua.dll
  11. C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\loadall.dll
  12. C:\Users\Eingeschrรคnkt\.config\mudlet\profiles\new profile name\
  13. .\.dll
  14. C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\.dll
  15. C:\Users\Eingeschr๏ฟฝnkt\AppData\Local\Mudlet\app-3.8.1\loadall.dll

์š”์ฆ˜ ํŒŒ์ผ์˜ ์œ„์น˜๊ฐ€ ํ™•์‹คํ•˜์ง€ ์•Š์•„ 3.8.1 ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์„ค์น˜ ํ•œ ๊ฒฐ๊ณผ ์‚ฌ์šฉ ๋œ ๊ฒฝ๋กœ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

C : \ Users \ Stephen \ AppDataLocal \ Mudlet \ app-3.8.1 \ mudlet-lualua

Windows Installer ๋ฒ„์ „์—์„œ๋„ package.config์— ๋Œ€ํ•ด ๋‹ค์Œ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

lua print(package.config)
\
;
?
!
-

๋”ฐ๋ผ์„œ ํŒจํ‚ค์ง€ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ IMO๋ฅผ ์ž‘๋™ํ•˜๋ ค๋ฉด ๊ฒฝ๋กœ๊ฐ€ \ ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋‹ค๋ฅธ ๊ฒƒ์„ ์–ป๋Š” ์ด์œ ๋Š” ์•„์ง ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘ ๋จ : '์ด ์•„๋‹Œ`๋กœ ๊ฒฝ๋กœ ๋ชฉ๋ก์„ ์ธ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ถ€ ๊ฒฝ๋กœ๊ฐ€ mojibake์ด๊ณ  ๋‹ค๋ฅธ ๊ฒฝ๋กœ๊ฐ€ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ‘œ์‹œํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค๋ฅธ ์†Œ์Šค์—์„œ ์™”๊ณ  ์ผ๋ถ€ ๊ฒฝ๋กœ๋Š” ์•„์ง I18n์„ ์ œ๋Œ€๋กœ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. Mudlet 4.0์œผ๋กœ ์ถ”์ ํ•˜์—ฌ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ๋“ค์€ ์šฐ๋ฆฌ๊ฐ€ ํ†ต์ œ ํ•  ์ˆ˜์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ณ„ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ๋ชจ๋‘ ์ƒ์„ฑ ๋œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ต๊ณผํ•˜๋ฏ€๋กœ ํ‘œ์‹œ ์ฝ”๋“œ ๋‚˜ ๊ธ€๊ผด์ด ๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์˜ˆ์ƒ๋˜๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด (๊ฐœ๋ฐœ์ž๋กœ์„œ ํ•ด๋‹น PC์— ๋‘˜ ์ด์ƒ์˜ ์‚ฌ๋ณธ์ด ์žˆ์Œ) ํŒŒ์ผ ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ณ  ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.
luagloballua_fail

๋˜ํ•œ ๋น„ ASCII (์•„๋งˆ๋„ Latin1 / ISO 885901๋„ ์•„๋‹˜) ๋ฌธ์ž๋กœ ์ƒˆ ์‚ฌ์šฉ์ž๋ฅผ ๋งŒ๋“ค์—ˆ์œผ๋ฉฐ ํ•ด๋‹น ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Mudlet์€ ๋‹ค์Œ ์œ„์น˜์—์„œ ํŒŒ์ผ์„ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

C:\Users\ลŸศ›ศ…ฦฅฤฅฤ“ฦž\AppData\Local\Mudlet\app-3.8.1\mudlet-lua\lua\LuaGlobal.lua

๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

C:\Users\stephen\AppData\Local\Mudlet\app-3.8.1\mudlet-lua\lua\LuaGlobal.lua

:ํ๋Š๋‚Œ:

Stack Exchange์— ๋Œ€ํ•œ ์ด Q & A๋Š” ์œ ๋งํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ MIT ๋ผ์ด์„ ์Šค luawinfile Windows (MSVC๊ฐ€ ์•„๋‹Œ mingw์—์„œ๋งŒ ์ปดํŒŒ์ผ) ํŒŒ์ผ ์ด๋ฆ„ ๋ณ€ํ™˜๊ธฐ (UTF-8 ํŒŒ์ผ ์ด๋ฆ„์„ Windows ํŒŒ์ผ ์ฒ˜๋ฆฌ API์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” UTF-16์œผ๋กœ /์—์„œ ๋ณ€ํ™˜)๊ฐ€ ์•ฝ๊ฐ„ ๋” ์ข‹์•„ ๋ณด์ž…๋‹ˆ๋‹ค. ๋Œ€์ฒด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. UTF-8 ํŒŒ์ผ ๋ฐ ๊ฒฝ๋กœ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” LFS ๋ชจ๋“ˆ์˜ ๊ฒฝ์šฐ.

์ž˜ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ๋ฒ„๋ฆฌ๊ธฐ ์œ„ํ•ด ์ด๋ฏธ Mudlet์— https://github.com/starwing/luautf8 ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋„์›€์ด ๋ ๋งŒํ•œ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

SlySven, 15 ๊ฐœ์˜ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„ ๋ชฉ๋ก์ด ์ž˜๋ชป๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 13์€ ..dll ์•„๋‹ˆ๋ผ .\.dll ์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์•„, ๊ทธ๊ฒƒ์ด ๋งˆํฌ ์—… ์‹œ์Šคํ…œ์„ ๋ฐฉํ•ดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ผ๋ถ€ ์ปจํ…์ŠคํŠธ์—์„œ ๋ฐฑ ์Šฌ๋ž˜์‹œ๋Š” ํ•„์š”ํ•œ ๋‹ค์Œ ๋ฌธ์ž๋ฅผ ์ด์Šค์ผ€์ดํ”„ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์ด "\ <"์™€ ๊ฐ™์€ ์ผ๋ฐ˜ ํ…์ŠคํŠธ์— ๋ฏธ๋งŒ ๊ธฐํ˜ธ๋ฅผ ํ‘œ์‹œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์—๋Š” ๊ฑฐ๊ธฐ์— ๋ฐฑ ์Šฌ๋ž˜์‹œ ... ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” ๋”ฐ์˜ดํ‘œ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ํŽธ์ง‘ ๋œ ์ฝ”๋“œ ๋”ฐ์˜ดํ‘œ ๋Œ€์‹  ๋‹จ์ผ ์ผ๋ฐ˜ ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

luautf8 ๋Š” UTF-8 ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. luainfile ๋Š” ํŠนํžˆ Windows ํŒŒ์ผ ์ฒ˜๋ฆฌ (UTF-16 ๋ฌธ์ž์—ด์—์„œ๋งŒ ์ž‘๋™ ํ•จ) ์™€์˜ ์ธํ„ฐํŽ˜์ด์Šค์— ๊ด€ํ•œ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ธฐ์—์„œ ๋„์›€์ด ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. C ๋˜๋Š” ๋” ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ C ++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ -Windows์—์„œ๋งŒ lfs ๋ฅผ ๊ฐ์‹ธ๊ฑฐ๋‚˜ ๊ต์ฒดํ•ด์•ผํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค (Cygwin์€ ์•„๋‹ˆ์ง€๋งŒ).

ํ  ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” lfs ๋กœ๋“œ LuaGlobal.lua ๋ฐฉ๋ฒ• ๋•Œ๋ฌธ์—, luainfile ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ?

lfs ์˜ ๋Œ€์ฒดํ’ˆ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋˜ํ•œ dofile ๋ฐ loadfile ์žˆ์Šต๋‹ˆ๋‹ค. luaL_dofile ์— ๋Œ€ํ•œ ํ˜ธ์ถœ์„ dofile ๋Œ€ํ•œ lua ํ˜ธ์ถœ๋กœ ๋Œ€์ฒดํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ํ•  ํŽธ์ง‘ : lua 5.3์— ๋Œ€ํ•œ luainfile ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋งํฌ (๊ธฐ๋ณธ๊ฐ’) ... ์ด๊ฒƒ์ด ํ•˜๋“œ ์ข…์†์„ฑ์ธ์ง€ ์—ฌ๋ถ€๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ์ž์‹ ์˜ luaL_dofile ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๋ฉด Windows์˜ ํŠน์ˆ˜ ์ธ์ฝ”๋”ฉ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ์ถ”์ง„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

5.1 ํ˜ธํ™˜์„ฑ์— ๋Œ€ํ•ด ๋ฌป๋Š” luawinfile ์ €์žฅ์†Œ์—์„œ ๋ฌธ์ œ๋ฅผ ์ œ๊ธฐํ–ˆ์ง€๋งŒ ์‹ค์ œ๋กœ lua 5.1์—์„œ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ์ผ๋ถ€ 5.3 ์–ธ์–ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ณตํ•˜๋ ค๋Š” ๋ณ„๋„์˜ ๊ณต์‹ 5.3 ํ˜ธํ™˜์„ฑ ๋ชจ๋“ˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๋ฝ ๋œ ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€๋Š” 5.2 ๋ฐ 5.1์— ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ํ•ฉ๋ณ‘์ฆ์ด์—†๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ฏ€๋กœ ์†”๋ฃจ์…˜์ด ๋–จ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

# 229์™€ ๊ด€๋ จ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ์ถ”์ง„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

MIT ๋ผ์ด์„ ์Šค https://github.com/cloudwu/luawinfile (์ฝ”๋“œ์˜ ์•ฝ 884 ์ค„ {808 soc}์˜ ๋‹จ์ผ C ํŒŒ์ผ)์„ 5.3์—์„œ 5.1๋กœ ๋ฐฑ ํฌํŠธํ•˜์—ฌ ์ด์ „ ๋ฒ„์ „์—์—†๋Š” ์ผ๋ถ€ ๊ธฐ๋Šฅ์„ ์ˆ˜์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. Mudlet์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฃจ์•„ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ํ˜„์žฌ ๋Š๋ผ๋Š” ๊ฒƒ๋ณด๋‹ค lua-C ์ฝ”๋”ฉ์„ ๋” ์ž˜ ์ดํ•ดํ•˜๋Š” ์‚ฌ๋žŒ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋จธ์ง€ ์ฝ”๋“œ ๊ธฐ๋ฐ˜์— ๋Œ€ํ•ด ๋„ˆ๋ฌด ๊ฑฑ์ •ํ•˜์ง€ ์•Š๊ณ  ๋…๋ฆฝ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ณ  ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ Windows ๊ฐœ๋ฐœ ํ”Œ๋žซํผ์—์„œ๋งŒ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ๋ฌธ์ œ๋Š” ์‚ฌ๋žŒ๋“ค์ด ์˜์–ด๊ฐ€ ์•„๋‹Œ ์‚ฌ์šฉ์ž ์ด๋ฆ„์œผ๋กœ ์ฐฝ์— ํ”„๋กœํ•„์„ ์ €์žฅํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ก์ด ๊ธฐ๋ก๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ํ‹ฐ์ผ“์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

์ซ‘๋ผ๋ฆฌ
์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Mudlet์— ๊ตญ์ œ ์„œ์‹ ์„ ๊ฐ€์ ธ ์˜ค๋Š” ์ตœ๊ทผ ์ˆ˜์ • ๊ณผ์ •์—์„œ ๋ช‡ ๊ฐ€์ง€๋ฅผ ๋ฐฐ์› ์Šต๋‹ˆ๊นŒ?

์‚ฌ์‹ค์€ ์•„๋‹™๋‹ˆ๋‹ค. luawinfile ์„ Lua 5.1๋กœ ๋‹ค์‹œ ํฌํŒ…ํ•˜๋Š” ๊ฒƒ์ด ์ตœ์„ ์˜ ํฌ๋ง์„ ์ œ๊ณตํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ C/C++ + lua ์— ๋Œ€ํ•ด ์ถฉ๋ถ„ํžˆ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค (์•„์ง?) ์ƒ๊ฐ io luawinfile ์ผ๋ถ€ (๋ชจ๋“ , ๋‚˜๋„ ๋ชฐ๋ผ?) ์œˆ๋„์šฐ ํŠน์ • ๋Œ€์ฒด์™€ ๊ธฐ๋Šฅ์˜ ๋Œ€์ฒด ๋ฐฉ๋ฒ• ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์‚ฌ๋žŒ๋“ค์€ ๋‚ด ๊ธฐ๋ณธ Windows ๊ฐœ๋ฐœ ํ”Œ๋žซํผ์ด ๊ฐ€์žฅ ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (64 ๋น„ํŠธ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์žฅ์ฐฉ๋˜์–ด ์žˆ์ง€๋งŒ 32 ๋น„ํŠธ ๋ฒ„์ „์„ ์‹คํ–‰ํ•˜๋Š” Windows 7 ๋…ธํŠธ๋ถ). ๋ถ€ํŒ… ๋จธ์‹ ์ด ๋ช‡ ๋‹ฌ ๋™์•ˆ ํ•ด๋‹น OS๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ช‡ ์‹œ๊ฐ„ ๋™์•ˆ "Windows ์—…๋ฐ์ดํŠธ ์ค‘ ... ์ „์›์„ ๋„์ง€ ๋งˆ์‹ญ์‹œ์˜ค"ํ™”๋ฉด์„ ๋ฐ”๋ผ๋ณด๋ฉฐ ๊ทธ๋‹ค์ง€ ๋™๊ธฐ ๊ฐ€ ๋ถ€์—ฌ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ATM!

์ด์ œ Qt ์˜จ๋ผ์ธ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋งˆ์นจ๋‚ด 64 ๋น„ํŠธ Mingw64 Windows ์„ค์น˜ ๋งŒ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ „ํ™˜ ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด์ „์˜ 32 ๋น„ํŠธ ์ „์šฉ Mingw ์„ค์น˜์™€ ๋น„๊ตํ•˜๋ฉด ๋ช‡ ์‹œ๊ฐ„์„ ๋ฒ„๋ฆด ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ทธ๋ ‡๊ฒŒํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ..

์ข‹์•„ ๋ณด์—ฌ...

Selection_127

์ด๊ฒƒ์€ ์—ฐ์ดˆ์— ๋งŒ๋“ค์–ด์ง„ https://gist.github.com/Egor-Skriptunoff/2458547aa3b9210a8b5f686ac08ecbf0 ๋•๋ถ„์ž…๋‹ˆ๋‹ค.

Mudlet 3.22์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰