Заметил чтов NASM последних версий при многопроходной оптимизации перекашивает все экспортируемуе символы. Писал афторам - безответа. Это считается фичей или багой? насм вроде много кто ивпользует. "последних версий" - это конечно громко сказано - насм уже года полтора не обновлялся. С отключенной оптимизацией ручной пересчет всех прыжков конечно развивает дзенское мышление, но видимо это несовсем для меня :-/ Добавка: Насм пользую под винду, т.е. генерю coff обьекты, но такая лажа есть и в bin и elf, под винду мне просто нравится синтаксис языка
а чем nasm отличается от fasm, я думаю по синтаксису ничем, а по возможностям nasm во много раз хуже, да и мертвый он, не развивается, почему бы не юзать fasm?
Dr.Golova Давно известный баг Я подбираю кол-во прохождений так, чтобы и код оптимизировался и символы не пропадали и сам код генерировался в единственном экземпляре. После серьёзных переделок исходника приходится заново подбирать параметр для -O. К сожалению, это далеко не единственный глюк насма.
> Ну например директивы красивше выглядят =) Красивше, и синтаксис красивее, и генерит обжухи под кучу платформ, и бинарники генерит без извращений с преобразованием в СОМ файл. Поддержка TASM стиля кончено подпортила оригинальность немного, но ето по сути целый ассемблер в 100кб файле без необходимости всяких библиотек и инклюдов - вот это мне сильно нравица. Но подбирать количество проходов - западло чесно-чесно
помнится кто-то в стародавние времена ругался на корявый синтаксис nasm'а fasm это тоже делает замечательно fasm.exe - 76 Kb и инклуды никто использовать не заставляет и еще х64 знает и тоже многопроходный
Dr.Golova И, кажется, обновляться уже не будет. Где-то в насмовом форуме читал, что проект бессрочно заморожен или типа того. Вспомнил ещё один баг как раз по этому поводу. Если создать виндовым насмом обжух в формате COFF (не мс-овский COFF, а *никсовый) для использования совместно с gcc, иногда некоторые релоки получаются кривыми (пример имеется). Фасм в этом случае генерит релоки правильно в COFF и gcc их воспринимает без проблем.
Без релоков 69 (зачем в ехе релоки?), а с прикрученными листингом, дампом символов и препроцессора 71,5 кб