Opciones del enlazador

LINK.exe vincula archivos de objeto y bibliotecas de formato de archivo de objeto (COFF) comunes para crear un archivo ejecutable (EXE) o una biblioteca de vínculos dinámicos (DLL).

En la tabla siguiente se muestran las opciones de LINK.exe. Para más información sobre LINK, consulte:

En la línea de comandos, las opciones del enlazador no distinguen mayúsculas de minúsculas: por ejemplo, /base y /BASE significan lo mismo. Para obtener más información sobre cómo especificar cada opción en la línea de comandos o en Visual Studio, vea la documentación de esa opción.

Puede usar la comment pragma para especificar algunas opciones del enlazador.

Opciones del enlazador por orden alfabético

Opción Propósito
@ Especifica un archivo de respuesta.
/ALIGN Especifica la alineación de cada sección.
/ALLOWBIND Especifica que una DLL no se puede enlazar.
/ALLOWISOLATION Especifica el comportamiento de la búsqueda de manifiesto.
/APPCONTAINER Especifica si la aplicación se debe ejecutar dentro de un entorno de proceso appcontainer.
/ARM64XFUNCTIONPADMINX64 Especifica el número mínimo de bytes de relleno entre funciones x64 en imágenes ARM64X.17.8
/ASSEMBLYDEBUG Agrega el DebuggableAttribute a una imagen administrada.
/ASSEMBLYLINKRESOURCE Crea un vínculo a un recurso administrado.
/ASSEMBLYMODULE Especifica que un módulo de Lenguaje intermedio de Microsoft (MSIL) se debe importar en el ensamblado.
/ASSEMBLYRESOURCE Inserta un archivo de recursos administrado en un ensamblado.
/BASE Establece una dirección base para el programa.
/CETCOMPAT Marca el binario como compatible con la pila sombra CET.
/CGTHREADS Establece el número de subprocesos de cl.exe que se deben usar para la optimización y la generación de código cuando se especifica la generación de código en tiempo de vínculo.
/CLRIMAGETYPE Establece el tipo de una imagen de CLR (IJW, pura o segura).
/CLRSUPPORTLASTERROR Conserva el último código de error de las funciones a las que se llama con el mecanismo P/Invoke.
/CLRTHREADATTRIBUTE Especifica el atributo de subprocesamiento que se debe aplicar al punto de entrada del programa CLR.
/CLRUNMANAGEDCODECHECK Especifica si el enlazador aplica el SuppressUnmanagedCodeSecurity atributo a códigos auxiliares P/Invoke generados por el enlazador que llaman desde código administrado a archivos DLL nativos.
/DEBUG Crea información de depuración.
/DEBUGTYPE Especifica qué datos desea incluir en la información de depuración.
/DEF Pasa un archivo de definición de módulos (.def) al enlazador.
/DEFAULTLIB Busca la biblioteca especificada cuando se resuelven las referencias externas.
/DELAY Controla la carga retrasada de DLL.
/DELAYLOAD Provoca la carga retrasada de la DLL especificada.
/DELAYSIGN Firma parcialmente un ensamblado.
/DEPENDENTLOADFLAG Establece marcas predeterminadas en DLL dependientes.
/DLL Compila una DLL.
/DRIVER Crea un controlador modo kernel.
/DYNAMICBASE Especifica si se generará una imagen ejecutable que se pueda reorganizar en el momento de la carga con la característica de selección aleatoria del diseño del espacio de direcciones (ASLR).
/ENTRY Establece la dirección inicial.
/ERRORREPORT Obsoleto. Los informes de errores se controlan mediante la configuración de Informe de errores de Windows (WER).
/EXPORT Exporta una función.
/FILEALIGN Alinea las secciones del archivo de salida en múltiplos de un valor especificado.
/FIXED Crea un programa que solo se puede cargar en su dirección base preferida.
/FORCE Fuerza la finalización de un vínculo aunque haya símbolos o símbolos sin resolver definidos más de una vez.
/FUNCTIONPADMIN Crea una imagen que se puede revisar en caliente.
/GENPROFILE, /FASTGENPROFILE Estas dos opciones especifican la generación de un archivo .pgd mediante el enlazador para admitir la optimización guiada por perfiles (PGO). /GENPROFILE y /FASTGENPROFILE usan parámetros predeterminados diferentes.
/GUARD Activa la Protección de flujo de control.
/HEAP Establece el tamaño del montón en bytes.
/HIGHENTROPYVA Especifica la compatibilidad con la selección aleatoria del diseño del espacio de direcciones (ASLR) de 64 bits de alta entropía.
/IDLOUT Especifica el nombre del archivo .idl y otros archivos de salida MIDL.
/IGNORE Suprime la salida de las advertencias del enlazador especificado.
/IGNOREIDL Impide el procesamiento de información de atributos en un archivo .idl.
/ILK Invalida el nombre de archivo de base de datos incremental predeterminado.
/IMPLIB Invalida el nombre de la biblioteca de importación predeterminada.
/INCLUDE Fuerza referencias de símbolo.
/INCREMENTAL Controla la vinculación incremental.
/INFERASANLIBS Usa bibliotecas de saneadores inferidos.
/INTEGRITYCHECK Especifica que el módulo requiere una comprobación de firma en el momento de la carga.
/KERNEL Cree un binario en modo kernel.
/KEYCONTAINER Especifica un contenedor de claves para firmar un ensamblado.
/KEYFILE Especifica una clave o un par de claves para firmar un ensamblado.
/LARGEADDRESSAWARE Le indica al compilador que la aplicación admite direcciones de más de 2 gigabytes.
/LIBPATH Especifica una ruta de acceso de búsqueda antes de la ruta de biblioteca del entorno.
/LINKREPRO Especifica una ruta de acceso en la que se generarán artefactos de reproducción.
/LINKREPROTARGET Genera una reproducción de vínculo solo al generar el destino especificado. 16.1
/LTCG Especifica la generación de código en tiempo de vínculo.
/MACHINE Especifica la plataforma de destino.
/MANIFEST Crea un archivo de manifiesto en paralelo y, si quiere, lo inserta en el archivo binario.
/MANIFESTDEPENDENCY Especifica la sección <dependentAssembly> en el archivo de manifiesto.
/MANIFESTFILE Cambia el nombre predeterminado del archivo de manifiesto.
/MANIFESTINPUT Especifica un archivo de entrada de manifiesto para que el enlazador lo procese y lo inserte en el archivo binario. Puede usar esta opción varias veces para especificar más de un archivo de entrada de manifiesto.
/MANIFESTUAC Especifica si la información de Control de cuentas de usuario (UAC) debe incrustarse en el manifiesto del programa.
/MAP Crea un archivo de asignaciones.
/MAPINFO Incluye en el archivo de asignaciones la información especificada.
/MERGE Combina secciones.
/MIDL Especifica opciones de la línea de comandos MIDL.
/NATVIS Agrega visualizadores del depurador desde un archivo Natvis a la base de datos de programa (PDB).
/NOASSEMBLY Suprime la creación de un ensamblado de .NET Framework.
/NODEFAULTLIB Ignora todas las bibliotecas predeterminadas (o las bibliotecas que se especifiquen) cuando se resuelven las referencias externas.
/NOENTRY Crea una DLL solo de recursos.
/NOFUNCTIONPADSECTION Deshabilita el relleno de funciones para las funciones de la sección especificada.17.8
/NOLOGO Suprime la pancarta de inicio.
/NXCOMPAT Marca un ejecutable como comprobado que es compatible con la característica Prevención de ejecución de datos de Windows.
/OPT Controla las optimizaciones de LINK.
/ORDER Coloca COMDAT en la imagen en un orden predeterminado.
/OUT Especifica el nombre del archivo de salida.
/PDB Crea un archivo PDB.
/PDBALTPATH Utiliza una ubicación alternativa para guardar un archivo PDB.
/PDBSTRIPPED Crea un archivo de base de datos de programa (PDB) sin símbolos privados.
/PGD Especifica un archivo .pgd para las optimizaciones guiadas por perfiles.
/POGOSAFEMODE Obsoleto Crea una compilación instrumentada de PGO segura para subprocesos.
/PROFILE Produce un archivo de salida que se puede usar con el generador de perfiles de Herramientas de rendimiento.
/RELEASE Establece la suma de comprobación en el encabezado .exe.
/SAFESEH Especifica que la imagen contendrá una tabla de controladores de excepciones seguros.
/SECTION Invalida los atributos de una sección.
/SOURCELINK Especifica un archivo SourceLink que se va a agregar a la PDB.
/STACK Establece el tamaño de la pila en bytes.
/STUB Asocia un programa de código auxiliar MS-DOS a un programa Win32.
/SUBSYSTEM Le indica al sistema operativo cómo ejecutar el archivo .exe.
/SWAPRUN Le indica al sistema operativo que copie la salida del enlazador a un archivo de intercambio antes de que se ejecute.
/TIME Información de tiempo de paso del enlazador de salida.
/TLBID Especifica el identificador de recurso de la biblioteca de tipos generados por el enlazador.
/TLBOUT Especifica el nombre del archivo .tlb y otros archivos de salida MIDL.
/TSAWARE Crea una aplicación diseñada específicamente para ejecutarse en Terminal Server.
/USEPROFILE Usa datos de entrenamiento de optimización guiada por perfiles para crear una imagen optimizada.
/VERBOSE Imprime los mensajes de progreso del enlazador.
/VERSION Asigna un número de versión.
/WHOLEARCHIVE Incluye todos los archivos de objeto de las bibliotecas estáticas especificadas.
/WINMD Habilita la generación de un archivo de metadatos de Windows en tiempo de ejecución.
/WINMDFILE Especifica el nombre de archivo del archivo de salida de metadatos de Windows en tiempo de ejecución (winmd) generado por la opción del enlazador /WINMD.
/WINMDKEYFILE Especifica una clave o un par de claves para firmar un archivo de metadatos de Windows en tiempo de ejecución.
/WINMDKEYCONTAINER Especifica un contenedor de claves para firmar un archivo de metadatos de Windows.
/WINMDDELAYSIGN Firma parcialmente un archivo de metadatos de Windows Runtime (.winmd) colocando la clave pública en el archivo winmd.
/WX Trata como errores las advertencias del enlazador.

16.2 Esta opción está disponible a partir de Visual Studio 2019, versión 16.1.
17.8 Esta opción está disponible a partir de la versión 17.8 de Visual Studio 2022.

Consulte también

Referencia de compilación de C/C++
Referencia del enlazador MSVC