Поделиться через


Параметры компоновщика

LINK.exe связывает файлы и библиотеки общего формата файлов объектов (COFF) для создания исполняемого файла (EXE) или библиотеки динамической компоновки (DLL).

В таблице ниже перечислены параметры для программы LINK.exe. Подробнее о LINK см. в следующих разделах.

В командной строке параметры компоновщика не учитывает регистр; например, /base и /BASE означает то же самое. Дополнительные сведения о том, как указать каждый параметр в командной строке или в Visual Studio, см. в документации для этого параметра.

Для указания некоторых параметров компоновщика можно использовать comment pragma.

Параметры компоновщика перечислены в алфавитном порядке

Вариант Характер использования
@ Указывает файл ответа.
/ALIGN Задает выравнивание каждой секции.
/ALLOWBIND Указывает, что библиотека DLL не может быть привязана.
/ALLOWISOLATION Задает поведение нахождения файлов манифеста.
/APPCONTAINER Определяет, должно ли приложение выполняться в среде процесса контейнера приложений.
/ARM64XFUNCTIONPADMINX64 Указывает минимальное количество байтов заполнения между функциями x64 в образах ARM64X.17.8
/ASSEMBLYDEBUG Добавляет атрибут DebuggableAttribute в управляемый образ.
/ASSEMBLYLINKRESOURCE Создает ссылку на управляемый ресурс.
/ASSEMBLYMODULE Указывает на то, что в сборку должен быть импортирован модуль MSIL.
/ASSEMBLYRESOURCE Внедряет файл управляемых ресурсов в сборку.
/BASE Задает базовый адрес для программы.
/CETCOMPAT Помечает двоичный файл как совместимый с теневым стеком CET.
/CGTHREADS Задает число потоков cl.exe, используемых для оптимизации и создания кода, если задано создание кода во время компоновки.
/CLRIMAGETYPE Задает тип (IJW, pure или safe) CLR-образа.
/CLRSUPPORTLASTERROR Сохраняет последний код ошибки функций, вызываемых с помощью механизма P/Invoke.
/CLRTHREADATTRIBUTE Указывает атрибут потока для применения к точке входа CLR-программы.
/CLRUNMANAGEDCODECHECK Указывает, применяет SuppressUnmanagedCodeSecurity ли компоновщик атрибут к заглушкам, созданным компоновщиком P/Invoke, вызывающим из управляемого кода в собственные библиотеки DLL.
/DEBUG Создает отладочную информацию.
/DEBUGTYPE Указывает, какие данные необходимо включить в отладочную информацию.
/DEF Передает компоновщику файл определения модуля (DEF).
/DEFAULTLIB Проводит поиск по указанной библиотеке при разрешении внешних ссылок.
/DELAY Управляет отложенной загрузкой библиотек DLL.
/DELAYLOAD Включает отложенную загрузку указанной библиотеки DLL.
/DELAYSIGN Частично подписывает сборку.
/DEPENDENTLOADFLAG Задает флаги по умолчанию для зависимых загрузок DLL.
/DLL Выполняет сборку библиотеки DLL.
/DRIVER Создает драйвер режима ядра.
/DYNAMICBASE Указывает, следует ли создавать исполняемый образ, который перебазирован во время загрузки с помощью функции случайности макета адресного пространства (ASLR).
/ENTRY Задает начальный адрес.
/ERRORREPORT Устарело. Отчеты об ошибках управляются параметрами отчеты об ошибках Windows (WER).
/EXPORT Экспортирует функцию.
/FILEALIGN Выравнивание разделов в выходном файле по нескольким значениям.
/FIXED Создает программу, которая может загружаться только по предпочтительному базовому адресу.
/FORCE Принудительное завершение компоновки даже в случае наличия неразрешенных или многократно определенных символов.
/FUNCTIONPADMIN Создает образ, для которого можно выполнять горячее обновление.
/GENPROFILE, /FASTGENPROFILE Оба этих параметра указывают создание .pgd файла компоновщиком для поддержки оптимизации по профилю (PGO). /GENPROFILE и /FASTGENPROFILE используют разные параметры по умолчанию.
/GUARD Включает защиту потока управления.
/HEAP Задает размер кучи в байтах.
/HIGHENTROPYVA Определяет поддержку 64-разрядной функции Address Space Layout Randomization (ASLR) с высоким уровнем энтропии.
/IDLOUT Указывает имя файла и других выходных .idl файлов MIDL.
/IGNORE Отменяет вывод указанных предупреждений компоновщика.
/IGNOREIDL Запрещает обработку сведений о атрибутах в .idl файл.
/ILK Переопределяет имя файла базы данных по умолчанию.
/IMPLIB Переопределяет имя библиотеки импорта по умолчанию.
/INCLUDE Принудительное использование ссылок на символы.
/INCREMENTAL Управляет инкрементной компоновкой.
/INFERASANLIBS Использует выведенные библиотеки санитизатора.
/INTEGRITYCHECK Указывает на то, что модуль требует проверки подписи во время загрузки.
/KERNEL Создайте двоичный файл режима ядра.
/KEYCONTAINER Задает контейнер ключей для подписи сборки.
/KEYFILE Задает ключ или пару ключей для подписи сборки.
/LARGEADDRESSAWARE Сообщает компилятору, что приложение поддерживает адреса размером более 2 гигабайт
/LIBPATH Указывает путь для поиска перед путем среды библиотеки.
/LINKREPRO Указывает путь для создания артефактов повторной подготовки ссылок.
/LINKREPROFULLPATHRSP Создает файл ответа, содержащий абсолютные пути ко всем файлам, которые компоновщик взял в качестве входных данных.
/LINKREPROTARGET Создает повторную версию ссылки только при создании указанного целевого объекта.16.1
/LTCG Задает создание кода во время компоновки.
/MACHINE Указывает целевую платформу.
/MANIFEST Создает параллельный файл манифеста и при необходимости включает его в двоичный файл.
/MANIFESTDEPENDENCY Указывает раздел зависимойAssembly <> в файле манифеста.
/MANIFESTFILE Изменяет имя файла манифеста по умолчанию.
/MANIFESTINPUT Задает входной файл манифеста для обработки и внедрения компоновщиком в двоичный файл. Этот параметр можно использовать несколько раз, чтобы указать несколько входных файлов манифеста.
/MANIFESTUAC Указывает, следует ли внедрять в манифест программы сведения о контроле учетных записей.
/MAP Создает файл сопоставления.
/MAPINFO Включает указанные сведения в файл сопоставления.
/MERGE Объединяет разделы.
/MIDL Задает параметры командной строки MIDL.
/NATVIS Добавляет визуализаторы отладчика из файла Natvis в базу данных программы (PDB).
/NOASSEMBLY Подавляет создание сборки .NET Framework.
/NODEFAULTLIB Пропускает все (или только указанные) библиотеки по умолчанию при разрешении внешних ссылок.
/NOENTRY Создает библиотеку DLL, содержащую только ресурсы.
/NOFUNCTIONPADSECTION Отключает заполнение функции для функций в указанном разделе.17.8
/NOLOGO Отключает загрузочный баннер.
/NXCOMPAT Помечает исполняемый файл как файл, проверенный на совместимость с компонентом предотвращения выполнения данных Windows.
/OPT Управляет оптимизацией LINK.
/ORDER Помещает секции COMDAT в образ в предопределенном порядке.
/OUT Задает имя выходного файла.
/PDB Создает PDB-файл.
/PDBALTPATH Использует альтернативное местоположение для сохранения файла PDB.
/PDBSTRIPPED Создает PDB-файл, не имеющий закрытых символов.
/PGD Задает .pgd файл для оптимизации с помощью профиля.
/POGOSAFEMODE Устаревшая сборка создает инструментированную сборку PGO с безопасным потоком.
/PROFILE Создает выходной файл, который может быть использован для профилировщика производительности инструментов.
/RELEASE Задает контрольную сумму в заголовке .exe .
/SAFESEH Указывает на то, что образ будет содержать таблицу безопасных обработчиков исключений.
/SECTION Переопределяет атрибуты секции.
/SOURCELINK Указывает файл SourceLink для добавления в PDB.
/STACK Задает размер стека (в байтах).
/STUB Присоединяет программу-заглушку MS-DOS к программе Win32.
/SUBSYSTEM Сообщает операционной системе, как запустить .exe файл.
/SWAPRUN Сообщает операционной системе, чтобы скопировать выходные данные компоновщика в файл буфера перед его выполнением.
/TIME Выходные данные компоновщика передают сведения о времени.
/TLBID Указывает идентификатор ресурса библиотеки типов, создаваемой компоновщиком.
/TLBOUT Указывает имя файла и других выходных .tlb файлов MIDL.
/TSAWARE Создает приложение, специально рассчитанное на запуск под управлением сервера терминалов.
/USEPROFILE Использует обучающие данные по оптимизации с помощью профилей для создания оптимизированного образа.
/VERBOSE Печатает сообщения хода выполнения компоновщика.
/VERSION Присваивает номер версии.
/WHOLEARCHIVE Включает каждый файл объекта из указанных статических библиотек.
/WINMD Включает создание файлов метаданных среды выполнения Windows.
/WINMDFILE Указывает имя файла для выходного файла среда выполнения Windows метаданных (winmd), созданного параметром /WINMD компоновщика.
/WINMDKEYFILE Задает ключ или пару ключей для подписи файла метаданных среды выполнения Windows.
/WINMDKEYCONTAINER Указывает контейнер ключей для подписания файла метаданных Windows.
/WINMDDELAYSIGN Частично подписывает файл метаданных.winmd среда выполнения Windows путем размещения открытого ключа в winmd-файле.
/WX Обрабатывает предупреждения компоновщика как ошибки.

16.1 Этот параметр доступен начиная с Visual Studio 2019 версии 16.1.
17.8 Этот параметр доступен начиная с Visual Studio 2022 версии 17.8.

См. также

Справочные сведения о сборке C/C++
Справочник по компоновщику MSVC