Программа TLINK EXE
Программа TLINK32.EXE.
В пакетах Borland С, начиная с 1997 года, сосуществовали две программы для компоновки объектных файлов: tlink32.exe и ilink32.exe. Опции этих программ практически совпадали, ilink32.exe - инкрементальный, или пошаговый, компоновщик. Он хранит информацию о предыдущих компоновках, что позволяет значительно ускорить весь процесс повторных трансляций. В последнее время программа tlink32.exe вообще исчезла из поставки. В дальнейшем мы не будем делать различий между этими двумя программами. Опции, помеченные (+), появились в новых версиях ilink32.exe, а опции со знаком (-), наоборот, исчезли. В новых версиях для выделения опции используется "/" вместо тире.
-m | Создать МАР-файл с информацией о сегментах и два листинга с PUBLIC-именами (в алфавитном и адресном порядке). |
-s | Детальная информация о сегментах в МАР-файле. |
-M | Поместить в МАР-файл сокращенные имена идентификаторов. |
-c | Различать прописные и заглавные буквы в PUBLIC и EXTERNAL именах. |
-Enn | Задает максимальное количество ошибок, приводящее к остановке компоновки. |
-P- | Запретить паковать сегменты. Имеет смысл для 16-битных приложений (-P — разрешить). |
-b:хххх | Задает базовый адрес. По умолчанию базовый адрес равен 400000Н. (+) |
-B:хххх | Аналогично опции -b, но не создает таблицу настройки. Ключи —b и -B могут несколько ускорить работу программы. |
-wxxx | Возможные предупреждения. Например, -w-stk игнорировать отсутствие стекового сегмента. |
-Txx | -Tpx PE image(x: е=ЕХЕ, d=DLL) Тип выходного файла. Tpe - создать ЕХЕ-файл. Tpd - создать DLL-файл. Tpp - создать пакетный файл. (+) |
-ax -ap -aa | -ар — создать консольное приложение, -аа — создать обычное Windows-приложение (GUI), -ad — создать 32-битный драйвер для Windows.(+) |
-r | Заставляет компоновщик выдавать информацию о процессе компоновки. |
-Vd.d | Помещает в ЕХЕ-заголовок ожидаемую версию Windows. |
-Ud.d | Поместить в заголовок ЕХЕ-файла номер версии программы. (+) |
-o | Импорт по номеру функции. (-) |
-Ao:nnnn | Определяет величину выравнивания (кратно 2, минимально 16). |
-Af:nnnn | Файл выравнивания. |
-Sc:xxxx | Определить размер стека. |
-S:xxxx | Определить размер резервного стека. Минимально 4К. |
-Hc:хххх | Определить размер специальной "кучи". |
-H:хххх | Определить размер резервной "кучи". |
-n | Нет библиотеки "по умолчанию". (-) |
-v | Поместить в исполняемый файл полную отладочную информацию. Можно использовать -v+ и -v- для селективного помещения отладочной информации в отдельные файлы. |
-j | Определить путь поиска OBJ-файлов. |
-L | Определить путь к LIB-библиотеке. |
-x | Не создавать МАР-файл. |
-Rr | Позволяет заменять или добавлять ресурсы. (+) |
-d | Установить задержку загрузки библиотеки DLL. Она будет загружаться лишь при вызове входной процедуры. (+) |
-Dxxxx | Поместить в PE-заголовок специальный дескриптор. |
-GC | Поместить в заголовок РЕ строку (или строки). Например -GC"Hellow!". (+) |
-GD | Генерировать Delphi-совместимый файл ресурсов. (+) |
-GF | Установить флаг для загрузочного модуля: SWAPNET - указание для операционной системы поместить загрузочный модуль в swap-файл и загружать его оттуда, если он расположен на сетевом устройстве. SWAPCD - аналогично предыдущему флагу, но для съемных устройств. UNIPROCESSOR - приложение не должно запускаться в мультипроцессорной системе. LARGEADDRESSAWARE - приложение использует адреса больше 4 Gb. AGGRESSIVE - операционная система удаляет приложение из памяти в случае его простоя.(+) |
-Gk | Заставляет компоновщик оставлять в случае ошибки те файлы, которые обычно в этом случае уничтожались.(+) |
-Gl | Генерировать LIB-файл.(+) |
-Gpr | Создавать пакет "времени исполнения".(+) |
-Gpd | Создать пакет "времени создания".(+) |
-Gn | Запретить пошаговую компиляцию.(+) |
-GSstring | -GS:string=[ECIRWSDKP] Добавляет флаги к уже существующим флагам секций.(+) |
-Gz | Помещает в РЕ-заголовок контрольную сумму загрузочного модуля. |
Завершая главу, приведу несколько простых примеров.