TASM создаёт экзешник с секцией экспорта. Что нужно добавить в командную строку, чтобы отучить его от этой привычки?
Vasil Он экспортирует все публичные символы. Я бы хотел вообще удалить секцию .edata, а ручками это делать уже надоело.
публичные символы - если это те, которые объявлены как public, то подумай как от него избавится, заменить чем-нибудь. Немного отходя от темы: Честно говоря на tasm'е я программировал под DOS'ом, а когда переходил на Win32, то выбрал masm из-за многих причин, в том числе подобных твоим... Tasm, не хочу обидеть всех любителей этого ассемблера, сам по себе глюконутый, а фирма Borland вообще забыла про оптимизацию, особенно в Delphi - уродливый код.
Vasil Именно Без публичных символов не получится использовать статические библиотеки, между прочим. Я же не от символов избавиться хочу, а от лишней секции.
Да понял я... Просто я в masm'е использую PROTO и забыл, что в tasm'е без public не обойтись. А про ключи я тебе скажу позже - книжка с русским описанием ключей для tasm'а где-то у друга валяется и сам он тоже где-то... Вообщем, спит он, может днем его выциплю. Quantum К сожелению у меня нет tasm'а и что-то проверить я не смогу
От лишней секции можно избавиться лишь объединив ее с какой-нибудь другой. Сам tlink32 это делать не умеет и никаких опций на этот счет у него нет. Так что либо надо менять линкер (ulink может объединять секции), либо обрабатывать файл сторонними утилитами...
Никаких прямых способов для избавления от этой секции в документации не указано. Я читал то, что поставляется в пакете "TASM5Plus by tE!". Но раз уж можно в тасме косвенным образом избавляться от релоков в экзешнике, подумалось, что специалисты по тасму знают подобные уловки для убиения экспорта. Видимо, нет... Nothing Вариант с объединением меня не устраивает. И размер может увеличиться, и символы из статических либ попадут в экзешник. В общем, не годится.
Quantum Помоему всегда была такая вещь и Тасма, экспортировать хотя бы 1 символ, Но ЭКСПортировать! ))
Quantum чтобы tlink32 не создавал такую сакцию, попробуй объединить весь код (т.е. чтобы компиляция происходила одного вайла *.obj) и убери все public вот пример программы _997418018__Example.rar
PROFi Используется статическая либа. Если бы был чистый ассемблерный проект с исходниками, то можно было бы сделать так как Вы советуете.