Параметры компоновщика
LINK.exe связывает файлы и библиотеки общего формата файлов объектов (COFF) для создания исполняемого файла (EXE) или библиотеки динамической компоновки (DLL).
В таблице ниже перечислены параметры для программы LINK.exe. Подробнее о LINK см. в следующих разделах.
- Параметры LINK, управляемые компилятором
- Входные файлы LINK
- Выходные данные 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