Неполноценный
Михаил
ток смотри если электроны вылетят.. то как они залетят обратно нафиг
Uni_X
Uni_X
Типо земля в иллюминаторе
Михаил
для меня GND это контакт с землёй)) ну ладно
Михаил
кароч не настолько смешно как сначала казалось
Uni_X
Uni_X
3й мем который я создал)
Михаил
а предыдущие 2?
Михаил
архив есть?
Uni_X
Не, я форматил телефон
Uni_X
Но можно найти тут
Михаил
ладно давай свой покидаю
Михаил
Михаил
поймут не только лишь все, мем для крестовиков (с++)
Михаил
Михаил
нету мемасов
Uni_X
Я скидывал про пико8, годот и юнити
Uni_X
Тоже не нашёл
Михаил
о. один понел
Михаил
Неполноценный
Михаил
в итоге знаете че, по некоторым бенчам на некоторых компиляторах он оказался немного быстрее
Uni_X
Uni_X
Нашёл второй
Uni_X
Когда то он был смешным...
Михаил
Неполноценный
Luсky
Нуу... https://habr.com/ru/articles/793388/
UtoECat
Snusmumriken
Snusmumriken
Мем не мой но ситуация страшная
Snusmumriken
Я только что боялся спалить ноут type-c'шной зарядкой от мобилы
Snusmumriken
Но ничего, зарядил
Vlad
Я не пишу на плюсах, но мем понятен
Михаил
why my program (using Lua API) is missing the C part of stack traceback? unlike prebuilt Lua interpreter
chuzhoi komp poetomy cyrillic ne robit soryan
Михаил
kod sha skinu
Михаил
static int report_err(lua_State *L) {
fprintf(stderr, "Lua error stack traceback:\n%s\n", lua_tostring(L, -1));
lua_pop(L, 1);
lua_close(L);
return 1;
}
static inline void exit_err(lua_State *L) {
lua_close(L);
exit(1);
}
static inline void check_stack(lua_State *L, int required) {
int newtop = lua_gettop(L);
if (newtop > required)
lua_settop(L, required);
else if (newtop != required) {
puts("Wrong stack size");
exit_err(L);
}
}
int main(int argc, char **argv)
{
if (argc < 2)
return 1;
stdfs::path mainpath = argc > 1 ? argv[argc - 1] : ".";
if (stdfs::is_directory(mainpath))
mainpath /= "project.lua";
if (!stdfs::is_regular_file(mainpath)) {
fprintf(stderr, "%s: not a regular file\n", mainpath.c_str());
return 1;
}
lua_State* L = luaL_newstate();
luaopen_base(L);
luaL_openlibs(L);
lua_settop(L, 0);
stdfs::path cInsPath = getSelfExecPath().parent_path();
auto pkgPath =
std::string(";") + (std::filesystem::path(cInsPath) / "lib" / "?" / "init.lua").string() +
std::string(";") + (std::filesystem::path(cInsPath) / "lib" / "?.lua").string();
lua_getglobal(L, "package");
lua_getfield(L, 1, "path");
lua_pushstring(L, pkgPath.c_str());
lua_concat(L, 2);
lua_setfield(L, 1, "path");
lua_pushstring(L, LUASCBS_SOURCE_OS);
lua_setglobal(L, "SOURCE_OS");
lua_pushstring(L, LUASCBS_SOURCE_ARCH);
lua_setglobal(L, "SOURCE_ARCH");
lua_settop(L, 0);
if (luaL_dostring(L, "require \"scbs\"") != LUA_OK) {
puts("Failed to load core module");
return report_err(L);
}
Михаил
problema v report_err kak ya ponyal
Михаил
i shas delo ne v samoy oshibke a v polnote vyvoda oshibki
UtoECat
static int report_err(lua_State *L) {
fprintf(stderr, "Lua error stack traceback:\n%s\n", lua_tostring(L, -1));
lua_pop(L, 1);
lua_close(L);
return 1;
}
static inline void exit_err(lua_State *L) {
lua_close(L);
exit(1);
}
static inline void check_stack(lua_State *L, int required) {
int newtop = lua_gettop(L);
if (newtop > required)
lua_settop(L, required);
else if (newtop != required) {
puts("Wrong stack size");
exit_err(L);
}
}
int main(int argc, char **argv)
{
if (argc < 2)
return 1;
stdfs::path mainpath = argc > 1 ? argv[argc - 1] : ".";
if (stdfs::is_directory(mainpath))
mainpath /= "project.lua";
if (!stdfs::is_regular_file(mainpath)) {
fprintf(stderr, "%s: not a regular file\n", mainpath.c_str());
return 1;
}
lua_State* L = luaL_newstate();
luaopen_base(L);
luaL_openlibs(L);
lua_settop(L, 0);
stdfs::path cInsPath = getSelfExecPath().parent_path();
auto pkgPath =
std::string(";") + (std::filesystem::path(cInsPath) / "lib" / "?" / "init.lua").string() +
std::string(";") + (std::filesystem::path(cInsPath) / "lib" / "?.lua").string();
lua_getglobal(L, "package");
lua_getfield(L, 1, "path");
lua_pushstring(L, pkgPath.c_str());
lua_concat(L, 2);
lua_setfield(L, 1, "path");
lua_pushstring(L, LUASCBS_SOURCE_OS);
lua_setglobal(L, "SOURCE_OS");
lua_pushstring(L, LUASCBS_SOURCE_ARCH);
lua_setglobal(L, "SOURCE_ARCH");
lua_settop(L, 0);
if (luaL_dostring(L, "require \"scbs\"") != LUA_OK) {
puts("Failed to load core module");
return report_err(L);
}
Так а где traceback? Ты же не вызываешь lua_pcall с индексом функции debug.traceback на стеке тут
У тебя вообще стектрейса нет во втором примере
Михаил
UtoECat
Михаил
Михаил
ladno sps
Неполноценный
Кто ты воин...
Неполноценный
А, я чат перепутал даже.
Snusmumriken
Артём привет, что ты тут делаешь?
Михаил
знаете я понял почему мои неймспейсы говно
Михаил
если в одних глобальных функциях используются другие глобальные функции и потом первые заворачиваются в неймспейс, и вызываются из него, то всё хана
Михаил
потому что доступ к глобальной переменной по строковому имени и никак его луашкой в функции не изменить
Михаил
есть вариант конечно завернуть все вызовы функций из пространства имен в еще одну, в которой до вызова будет восстанавливаться глобальное окружение, а потом убираться обратно.. но это кринж
Михаил
хотя и единственный действительно рабочий вариант
Михаил
если б была возможность хотя бы подменить таблицу _G..
Михаил
(присваивание _G = ... ничего не дает, окружение то же)
Михаил
Я ПОНЯЛ смысл строчки
local tuning = GLOBAL.TUNING
из мода в одной игрухе
Михаил
обращение к локальным переменным быстрее. а там было много обращений к tuning
Михаил
я чувствовал себя бичом когда видел этот код и не понимал прчему он просто не использует TUNING.xxx
Михаил
сколько лет прошло... 2 или 3 наверно
Luсky
Я просто прочёл книжку 'Lua gems'
Snusmumriken
DNC я тебя не помню. Ты у нас кто?
Egor
Snusmumriken
Ненаю. Но если да то можно замечательно забанить сразу в обоих чатах.
DNC
Igor
Igor
Просто проверка на человековость
DNC
я самый человечный человек в мире:)
Snusmumriken
за что банить-то?
И да, желательно всё-таки выяснить зачем пришел и чем занимаешься. И что писал на луашке.
DNC
ничего не писал
насколько я понял, этот язык используется в яндекс-таблицах
Правильно?
Snusmumriken
Надо блин завести специальный чат, и регулярно его постить по разным местам. Кто в него заходит - получает бан.
Snusmumriken
Snusmumriken
Luсky
Стоило забанить одну вьетнамскую девочку/мальчика, и началося.
Snusmumriken
Ну, я его таки не забанил.
DNC
Snusmumriken
уведомления отключаю и поглядываю о чем пишут
В общем, есть такое дело, что в чатах очень много спамеров.
А ещё, есть много людей, которые составляют базы данных чатов для продажи спамерам, переходят по всем ссылкам найденным в часах подряд, и добавляют в базы новые чаты. Работа у них такая.
И лично я - сильно против такой деятельности. Поэтому, не обессудь, но я бы на всякий случай забанил бы.
Если тебя действительно заинтересует тема - можешь написать мне в личку, ответить на несколько вопросов по предметно-прикладной области, и замечательно влиться. Уже более-менее понимая о чем идёт речь.