Приветствую. Есть исходник Си+асм, ничего из ОС-API не дергает, довольствуется только статически слинкованной CRT. Семь секунд полет нормальный. Хотелось бы такого же поведения добиться на unix-подобных. Проблема в том что асм-куски, как вы уже наверное догадались, на masm. Каковы шансы на успех? Можно ли обойтись без порта под другие компилеры (намекаю на nasm, fasm и любые вообще умеющие elf). Ещё вопрос в догонку - если бы было усе на ELF-могущих ассемблерах, какие могут быть ещё проблемы? Спасибо за внимание.
Рантайм будет вам основной проблемой. Масм можно и вайном скомпилировать. Если он не покушается на винапи, то линуху это ничем не грозит. Другое дело, что очень часто можно асм переписать на си. Я бы асм оставлял только если он проводит реалтайм видеообработку.
Не очень понятно что вы имели в виду, говоря про рантайм. Зачем компилить вайном? Так то можно и под виндой собрать, но рабочий ELF от этого не получится. Бывают задачи и помимо видеообработки, где скорость чудовищно критична. "О большие" это конечно замечательно, но считается ли скажем задача один месяц или два - весьма существенная разница, согласитесь? Даже если на асм-код уйдет больше месяца (а то и двух) сверху, это очень оправданно, т.к. при самом счете окупается с лихвой. Это уже не говоря о посторонних людях которые будут счастливы использовать сверхэффективные алгоритмы. На самом деле поставленная задача не для слабонервных и потребовала некоторых весьма значительных усилий. Более того, могу сказать что по ходу вылезли некоторые вещи, которые так и не удалось побороть (пришлось обойти). Решается как и все остальное в никсовых - перепиливанием исходников (линкера и objdump в частности). Возможно найдется что-то попроще. Если у кого-то возникнет подобная задача - пишите в пм (или на почту), помогу чем смогу.
Vilco Я бы все-таки посоветовал скомпилить все на Си с оптимизацией и посмотреть результат в ассемблере. Современные компиляторы стали умнее и иногда делают такое, что вы и не ожидали. Конечно если переделка не займет много времени. Если у вас большие куски на ассемблере тогда УВЫ. Проще "пилить".
ужо стукнул 2017, а компили прям такие вумные, что слов нет )) также доставляет, что в них стали интринзики внедрять, хотя раньше единственным интринзиком был goto