|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 20, 2004 12:08:33 Flasher Стаб - это программа ДОС. В виндосе он никогда не запускается по определению. Если хотите посмотреть, что он делает находясь в виндосе, меняйте первые 2 байта местами. n0p Что-то мне подсказывает, что я уже видел точно такой же спор с Asterix, и даже кажется, что он оказался тогда прав ;-) |
|
|
Дата: Июн 20, 2004 16:36:48 · Поправил: Asterix > Что-то мне подсказывает, что я уже видел точно такой же спор с Asterix, и даже кажется, что он оказался тогда прав ;-) Конечно :-), файл без импорта запустится только под 98 и XP и обломается в 2k, проверено тыщу раз. |
|
|
Дата: Июн 21, 2004 11:12:17 jekyll Как алигн для секций делается? macro .code { section '.text' code readable executable align 1 } :) |
|
|
Дата: Июн 21, 2004 15:36:50 Uri section '.text' code readable writeable executable align 1 error: extra characters on line. |
|
|
Дата: Июн 21, 2004 15:53:28 jekyll error: extra characters on line. fasm ver 1.52 format MS COFF |
|
|
Дата: Июн 21, 2004 18:32:02 Uri а для format PEнельзя? |
|
|
Дата: Июн 22, 2004 15:12:20 · Поправил: Uri |
|
|
Дата: Июн 22, 2004 15:15:17 Согласно доке align работает только с coff. |
|
|
Дата: Июн 22, 2004 15:26:29 S_T_A_S_ Согласно доке align работает только с coff. И правильно. Это единственный правильный формат (c) BG |
|
|
Дата: Июн 22, 2004 16:42:49 · Поправил: jekyll Uri Хорошо, спрошу. Вообще бы неплохо, чтобы эта фича была в компиляторе. |
|
|
Дата: Июн 22, 2004 18:19:33 [ Uri : И правильно. Это единственный правильный формат (c) BG ] Ну, это может для других ассемблеров они и единственный, а FASM и безо всяких линкеров рулит и вадаёт нормальные PE :). И разве coff изначально мелкомягкий формат :-? jekyll Не пойму, зачем в FORMAT PE нужен align - можно ж одной секцией обойтись :). |
|
|
Дата: Июн 22, 2004 18:31:56 S_T_A_S_ Ну, это может для других ассемблеров они и единственный, а FASM и безо всяких линкеров рулит и вадаёт нормальные PE :). Знаем, пробовали, пишем... И разве coff изначально мелкомягкий формат :-? И да и нет. не будем об этом, так как история эта длинная и копий тут поломано до нас немало... Не пойму, зачем в FORMAT PE нужен align - можно ж одной секцией обойтись :) Можно конечно и в хексах писать. Но вот у меня один типичный фасмовый проект состоит из 50 (пятидесяти) модулей. Как тут обходится одной секцией? И как тут без кофа? Слушай, что-то мне кажется что мы в офтом выпадаем. Замнем, а? Если есть желание по фасму поговорить - можно в приват, асей и на флатасме_нет... |
|
|
Дата: Июн 22, 2004 19:11:47 Uri Какой же у нас оффтоп? Это наоборот - топик изначально оффтоповый, так как всё что написано выше уже было на форуме, и не раз :). По поводу секций и coff вопрос imho хороший. Я так понимаю, что в каждом из 50ти модулей содержится несколько секций - например 2. Если это всё компилить в PE, то FASM создаст кучу чередующихся секций (была у мя такая проблема). Поэтому, наверно, и применяется COFF + линкер объединяющий одинаковые секции? Если так, то это можно обойти, компилируя сразу в PE - в FRESH, например так делается - макросы iglobal/uglobal. Т.е. на основе 50ти модулей будет создана одна секция кода и одна секция данных - без линкера. Можно таким же образом и в одну всё запихать - но это уже дело вкуса. Кстати, про хексы - многое из того, что делает линкер можно возложить на макросы - именно это я имел ввиду, говоря "FASM рулит" ;-) Хотя, их сложность иногда получается излишней :( |
|
|
Дата: Июн 22, 2004 19:19:01 S_T_A_S_ По поводу секций и coff И да и нет. Вообще я перепробовал кучу методов, но остановился все-таки на coff, как на самом малокровном. Ведь часть вопроса на том, что-бы не перекомпилировывать весь код, а только то что надо, что-бы выкидывать то что не надо (кстати, тут фасм попадает в небо с блоками if a=b else a=c endif), в общем - менингита много... ладно, ну его. именно это я имел ввиду, говоря "FASM рулит" Да, FASM действительно рулит! Такой системы макросов нет нигде! |
|
|
Дата: Июн 22, 2004 20:04:06 [ Uri : часть вопроса на том, что-бы не перекомпилировывать весь код, а только то что надо ] Вроде бы пока со скоростью компиляции у FASM проблем нет. Хотя да, как использовать либы - это уже предпочтения. Особенно если что-то откомпилено не FASM, то никуда не денешся :( > фасм попадает в небо с блоками if a=b else a=c endif) Если такой код: if foo a=b else a=c end if Вот это: if foo a equ b else a equ c end if Но это imho не большая проблема - другие решения можно найти, просто надо выкинуть из памяти MASM :) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.091 |