то? :)
Ядро Linux, ядро FreeBSD и даже ядро мастдая.
Боюсь у тебя неверные представления о дефолтном размере стека по умолчанию :)
Да, ошибся. В винде 1 мегабайт. В Linux 8 мегабайт. #include <stdio.h> void f(int level) { volatile const char temp[4096 - sizeof(int)]; /* sub argument size */ printf("This recursion level is: %d\n", level); f(level + 1); } int main(void) { f(1); return 0; }
В винде до 250 дошло, в Linux до 2028.
Размер стека меняется ключиками компилятора :)
Собственно о чем и была речь, видишь - чуть шаг в сторону и уперся в лимит
Ну да, но речь-то про дефолтные значения шла.
и в рантайме, в создаваемом потоке
Меняется, но в разумных пределах
Ну извини, объект весом в 4 кб, это слон, а не объект. Его надо в кучу, а обычно объекты даже 500 байт не весят.
В Linux и не в разумных тоже. На олимпиадах всяких делают лимит стека 256 или 512 мегабайт.
сильно зависит от сложившейся иерархии классов. для калькулятора - одно, а для комбайна другое
Мдя, на олимпиадных надо давать что-то из реальной жизни, вот тебе 8кб памяти и 40 кб под программу, из этих 8 можешь хоть все 8 под стек отдать и фпирёд, програмируй :)
У меня Hello world с -O3 -Os получается 50 Кб под виндой в Lazarus))))
Ну вот нужно тоже самое, только с боевой криптографией и на ARM ассемблере :)))
Пора свой RTL пилить, дока на вики
Чтобы 50кб HelloWorld'а не было )
Должно быть 50 байт
Так все давно запилено. KOL RTL есть готовая, на выходе 2кб dll, которую Windows загрузить не может. И... И зачем такой спорт? Кому нравится - идут в демо-сцену, но и там счёт уже на десятки и сотни КБ. Ну или в JpegXL, там тоже прогать на размер можно.
Кстати, странно что у этой штуки тут фанатов нет из любителей object. Там же автор старательно переписал пол стандартной библиотеки на объектах)
А как эта штука называется?
Ну сейчас любой текстовый файл легко на 100 кб написать, не то что прогу с супер функционалом)
Так и называется KOL, Key Object Library. Визуальные компоненты сомнительного качества для него MCK. Для fpc её поддерживает 1 человек, да и то .. а автор на неё забил ещё 20 лет назад
Потому что память теперь измеряется гигабайтами. Какой в нём смысл?
это не мой запрос был на минимальный бинарник но я не вижу ничего плохого в этом... вообще линкер бы умел это делать, хотя он вроде и умеет - значит RTL слишком связно внутри написана или компилировать её нужно с ключиками специальными, чтобы неиспользуемое - выкидывалось
У fpc линкер - ld из состава binutils, так что...
руки поотрывать таким вот высказывателям
там сами объектники он может готовить двумя разными способами
тут важен баланс. с одной стороны не стоит без необходимости раздувать потребляемую память. с другой бороться за каждый байт уже тоже не стоит
„Всё хорошо, что в меру.“ — Гиппократ
важно помнить, что на компе как правило крутится несколько прожорливых процессов, Так что некоторая оптимизация и экономия необходимы
ты про телеметрию? )))
некоторая да. там где просто и элегантно можно сэкономить память стоит это делать обязательно. но упариваться в борьбе за каждый байт не надо
Внезапно, эта штука называется KOL А точнее пара связанных библиотек, KOL и MCK
Кстати, именно RTL там на мой вкус была более важным проектом, чем сам KOL. Вылизанная модульность, пощволяющая линкеру автоматически выкинуть из exe 99% библиотеки. Если бы тогда сами борманы на это перешли, то... ...то все равно нафиг никому не надо бы было, когда одна лишь иконка для программы полмегабайта весит :)
А не пофиг ли? сейчас-то?
Я это предложил человеку в ответ на это: https://t.me/Delphi_Lazarus/345131 мне - пофиг в целом, но тема интересная так-то... мне нравятся всякие такие штуки
Ага. Работу по сети с поддержкой ssl наваяй в 50кб )
Юзать системные библиотеки? )
Ну...под какой нибудь nios2 вполне реально. ) чуть побольше правда, openssl там килобайт 100 выходит)
так это как наваяешь ))
Сань, да общий посыл, что это чушь несусветная на такое убивать кучу времени.. и своего, и чужого..
но как раз в ОС общего назначения это может оказаться возможно, потому что там будет какой-нибудь WebHTTP5.1, в котором это всё уже есть под капотом. насчет целесообразности согласен, но как раз возможностей в обычных ОС больше - там уже стада велосипедов на любой вкус готовые
Обсуждают сегодня