tasm32 всегда добавляет .reloc

Тема в разделе "WASM.WIN32", создана пользователем Zombook, 21 авг 2004.

  1. Zombook

    Zombook New Member

    Публикаций:
    0
    Регистрация:
    21 авг 2004
    Сообщения:
    4
    Можно ли это предотвратить? У меня простая программа, и секция .reloc просто не нужна. Но она добавляется (к счастью, в самый конец файла) и занимает лишних 512 байт.

    Мне приходится вручную уменьшать в таблице секций физический размер .reloc с 200h до 0 и отрезать последние 512 байт от exe. Но запись в таблице секций всё-таки остаётся, и занимает лишних 39d байт.



    На всякий случай - опции, которые я юзаю:

    tasm32 /la /ml /m2 my.asm

    tlink32 -Tpe my.obj,my,,%windir%\system32\wbem\import32,,
     
  2. dragon

    dragon New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2002
    Сообщения:
    84
    Адрес:
    Питер
    Можно использовать что-нибудь типа Rebuild PE, всё лишнее убирается.
     
  3. Zombook

    Zombook New Member

    Публикаций:
    0
    Регистрация:
    21 авг 2004
    Сообщения:
    4
    Секция .reloc исчезает, если добавить к tlink32 опцию -B:400000

    Зато появляется Warning: Images fixed at specific addresses typically will not run under Win32s

    Думаю, на это можно забить.



    А размер exe, кстати, не изменяется. tlink32 будто бы стремится сделать его кратным 4K. И сейчас получилось так, что последние 1024 байта не относятся ни одной секции - их приходится удалять вручную. Интересно, можно отключить это округление?
     
  4. dragon

    dragon New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2002
    Сообщения:
    84
    Адрес:
    Питер
    Линковать лучше через ilink32 из BCB или delphi, он делает файлы кратными 512байт.