tasm32 + tlink32 создают экзешник с .edata

Тема в разделе "WASM.ASSEMBLER", создана пользователем Quantum, 26 мар 2006.

  1. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    TASM создаёт экзешник с секцией экспорта. Что нужно добавить в командную строку, чтобы отучить его от этой привычки?
     
  2. Vasil

    Vasil Василь

    Публикаций:
    0
    Регистрация:
    7 янв 2006
    Сообщения:
    228
    Адрес:
    Ижевск
    Quantum

    Как я понял TASM не по твоей воли что-то экспортирует.

    А что он экспортирует ты смотрел?
     
  3. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Vasil

    Он экспортирует все публичные символы. Я бы хотел вообще удалить секцию .edata, а ручками это делать уже надоело.
     
  4. Vasil

    Vasil Василь

    Публикаций:
    0
    Регистрация:
    7 янв 2006
    Сообщения:
    228
    Адрес:
    Ижевск
    публичные символы - если это те, которые объявлены как public, то подумай как от него избавится, заменить чем-нибудь. ;)



    Немного отходя от темы:

    Честно говоря на tasm'е я программировал под DOS'ом, а когда переходил на Win32, то выбрал masm из-за многих причин, в том числе подобных твоим...

    Tasm, не хочу обидеть всех любителей этого ассемблера, сам по себе глюконутый, а фирма Borland вообще забыла про оптимизацию, особенно в Delphi - уродливый код.
     
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Vasil



    Именно





    Без публичных символов не получится использовать статические библиотеки, между прочим. ;)



    Я же не от символов избавиться хочу, а от лишней секции.
     
  6. Vasil

    Vasil Василь

    Публикаций:
    0
    Регистрация:
    7 янв 2006
    Сообщения:
    228
    Адрес:
    Ижевск
    Да понял я...

    Просто я в masm'е использую PROTO и забыл, что в tasm'е без public не обойтись.



    А про ключи я тебе скажу позже - книжка с русским описанием ключей для tasm'а где-то у друга валяется и сам он тоже где-то... Вообщем, спит он, может днем его выциплю.



    Quantum

    К сожелению у меня нет tasm'а и что-то проверить я не смогу :dntknw:
     
  7. Nothing

    Nothing New Member

    Публикаций:
    0
    Регистрация:
    4 авг 2003
    Сообщения:
    139
    Адрес:
    Russia
    От лишней секции можно избавиться лишь объединив ее с какой-нибудь другой. Сам tlink32 это делать не умеет и никаких опций на этот счет у него нет. Так что либо надо менять линкер (ulink может объединять секции), либо обрабатывать файл сторонними утилитами...
     
  8. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Никаких прямых способов для избавления от этой секции в документации не указано. Я читал то, что поставляется в пакете "TASM5Plus by tE!". Но раз уж можно в тасме косвенным образом избавляться от релоков в экзешнике, подумалось, что специалисты по тасму знают подобные уловки для убиения экспорта. Видимо, нет...



    Nothing



    Вариант с объединением меня не устраивает. И размер может увеличиться, и символы из статических либ попадут в экзешник. В общем, не годится.
     
  9. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Quantum

    Помоему всегда была такая вещь и Тасма, экспортировать хотя бы 1 символ, Но ЭКСПортировать! :)))
     
  10. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    Quantum



    чтобы tlink32 не создавал такую сакцию, попробуй объединить весь код (т.е. чтобы компиляция происходила одного вайла *.obj) и убери все public

    вот пример программы

    [​IMG] _997418018__Example.rar
     
  11. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    PROFi

    Используется статическая либа. Если бы был чистый ассемблерный проект с исходниками, то можно было бы сделать так как Вы советуете.