и не тащить ненужное?
Стикер
Так проще, да. Иначе у тебя два варианта: генерировать кучу кода или таскать с собой кучу стартапов. Даже в досовых программах, когда память экономили, стартап не занимал столько, чтобы это было проблемой. Тогда зачем? Куча лишней работы, что любопытный программист на ассемблере был счастлив?
Можно объективно определить, что дескриптор кучи инициализировать не нужно для вывода хелловорлда.
покажи практический пример применения данного кода, исключая ичебные цели
Любой код, в котором нет динамического выделения памяти
а ты уверен что те сишные функции которые ты используешь в коде не требуют кучи?
Я использовал только винапи)
аналогично. ты уверен что виапи в своих недрах не использует кучу?
Я уверен, что винапи не дергают ничего из сишного стартапа
ну тут мои аргументы фсе
Ну вот мы и получаем, что если мы вдруг пишем код на Си, не используя сишный рантайм, не потому что так сильно не хотим, а банально потому, что он либо не нужен, либо не удовлетворяет требованиям(привет, медленный маллок), то мы получаем набор незаметных, никак не влияющих на программу... Абсолютно бессмысленных действий.
а теперь посмотрим в другую сторону, вернее ос - на то как всё это работает в Линуксе
а чего в опции не указал не использовать/отключить сишный рантайм
А почему компилятор тупой и сам не догадывается убрать бесполезный код
он не тупой. компилятор это утилита командной строки, что указал то и исполнит
Я ему вставлять бесполезный код не указывал.
Потому что стартап нужен примерно посередине линковки, когда весь код уже написан.
почему мне фасм генерит stub код?. я это не указывал
ну или в более родной мне среде - КолибриОС Там стартап это просто аргументы командной строки спарсить и кучу инициализировать
Не моя проблема
дос заглушка
Пф. format binary
а как PE (exe) тогда получить?
Делаешь отдельно, кидаешь в папку с инклудами и через file/include
Исключительно твоя. Выкидывание стартапа не имеет практического смысла, он не мешает программам работать, не занимает много места и не тормозит. Возможно, это было актуально во времена диалапа, когда его в делфи вместе с остальной стандартной либой выкидывали, чтобы писать 30-40K вместо 800K.
вооот. я что мешает сделать тоже самое с сишкой - выполнить те или иные действия для реализации того что тебе надо????
А зачем выкидывать. Всегда есть возможность сделать так, чтобы этот стартап подключался динамически и подключалось только то, что нужно
Есть возможность, но нет желания. Потому что никому не нужно.
универсальность накладывает свои ограничения в силу невозможности реализации каждой хотелки прораммистов. есть стандарт и все.
То, что Си - ЯВУ, а не асм. И он по степени автоматизации отстает при этом от Асма
Не невозможности. Принципиально-то ничто не мешает делать это точечно. Тут именно нежелание, лень
Обсуждают сегодня