169 похожих чатов

Удивился размеру fas-файла, который одинаково огромен и для мелкой программы

и для большой. Посмотрел внутренности. А там - огромное кол-во функций и структур, которые в моей программе ни разу не использованы. Похоже что в генерируемый fas-файл включается всё содержимое include (где разумеется прописано множество неиспользуемых функций). А можно ли как-то с этим бороться, чтобы в fas было только то что реально используется?

9 ответов

28 просмотров

Увы, это уже не относится к ассемблеру. Таким путём мы придём к компилятору С. Хотя вы можете использовать NASM с оптимизацией от линковщика C. Но это, конечно, не решение, а уход от проблемы.

Евгений- Автор вопроса
CLFLUSH 🇷🇺 rdseed
Увы, это уже не относится к ассемблеру. Таким путё...

Но ведь ассемблер мог бы писать в -s file.fas только то что используется реально? Я конечно понимаю что в ряде случаев может быть какое-то динамическое построение адресов, флагов. Но в общем случае - лишняя инфа не нужна.

Евгений
Но ведь ассемблер мог бы писать в -s file.fas толь...

Конкретно в FASM, насколько я знаю, такой функции нет. Но если вы спрашиваете "реально ли это?" - да, конечно.

Можно использовать внешний компоновщик, который заодно нормальные отладочные символы сгенерирует

Евгений- Автор вопроса
Aleksandr
Можно использовать внешний компоновщик, который за...

Конкретно что надо сделать, в случае FASM? Какой компоновщик подойдёт?

.fas так сделан, чтобы можно было как в fasmw при ошибке заходить в макросы, которые сгенерировали конкретную строчку. Это на самом деле удобно, когда надо эти самые макросы отлаживать. Уменьшить штатными способами нельзя. Можно делать .map из .fas, можно ребилдить .fas, выкидывая всё лишнее, но это всё будут внешние утилиты и соответствующие неудобства.

Евгений- Автор вопроса
s54820
.fas так сделан, чтобы можно было как в fasmw при ...

А какие есть инструменты для работы с fas? Чем в эти макросы заходить? x64dbg умеет заходить в такие макросы?

Евгений
А какие есть инструменты для работы с fas? Чем в э...

listing и prepsrc из официального пакета, например.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта