Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
| Overview | How Do I | FAQ | Details
LINK is a 32-bit tool that links Common Object File Format (COFF) object files and libraries to create a 32-bit executable (.EXE) file or dynamic-link library (DLL).
Following is a comprehensive list of options for LINK.EXE. For information on how to specify an option, see Set Linker Options.
This section also includes information on Compiler-Controlled LINK Options, LINK Input Files, and LINK Output.
| Option | Action | 
| /ALIGN:number | Specifies the alignment of each section | 
| /BASE:{address | @filename,key} | Sets a base address for the program | 
| /COMMENT:["]comment["] | Inserts a comment string into header | 
| /DEBUG | Creates debugging information | 
| /DEBUGTYPE:CV /DEBUGTYPE:COFF /DEBUGTYPE:BOTH  | 
Creates particular formats of debugging information | 
| /DEF:filename | Passes a module-definition (.DEF) file to the linker | 
| /DEFAULTLIB:library | Searches specified library when resolving external references | 
| /DELAY | Controls the delayed loading of DLLs | 
| /DELAYLOAD | Causes the delayed loading of the specified DLL | 
| /DLL | Builds a DLL | 
| /DRIVER[:UPONLY] | Creates a Windows NT kernel mode driver | 
| /ENTRY:function | Sets the starting address | 
| /EXETYPE:DYNAMIC | Builds a virtual device driver | 
| /EXPORT | Exports a function | 
| /FIXED[:NO] | Creates a program that can be loaded only at its preferred base address | 
| /FORCE[:{MULTIPLE|UNRESOLVED}] | Forces link to complete in spite of unresolved or multiply defined symbols | 
| /GPSIZE:# | Specifies the size of communal variables for MIPS and Alpha platforms | 
| /HEAP:reserve[,commit] | Sets the size of the heap in bytes | 
| /IMPLIB:filename | Overrides the default import library name | 
| /INCLUDE:symbol | Forces symbol references | 
| /INCREMENTAL:{YES|NO} | Controls incremental linking | 
| /LARGEADDRESSAWARE | Tells the compiler that the application supports addresses larger than two gigabytes. | 
| /LIBPATH:path | Allows the user to override the environmental library path | 
| /LINK50COMPAT | Generates import libraries in Visual C++ Version 5.0 format | 
| /MACHINE:{IX86|ALPHA|ARM|MIPS|MIPSR41XX|PPC|SH3|SH4} | Specifies the target platform | 
| /MAP | Creates a map file | 
| /MAPINFO:{EXPORTS|FIXUPS|LINES} | Includes the specified information in the map file | 
| /MERGE:from=to | Combines sections | 
| /NODEFAULTLIB[:library] | Ignores all (or specified) default libraries when resolving external references | 
| /NOENTRY | Creates a resource-only DLL | 
| /NOLOGO | Suppresses startup banner | 
| /OPT:{REF|NOREF|ICF[,iterations]|NOICF} | Controls LINK optimizations | 
| /ORDER:@filename | Places COMDATs into the image in a predetermined order | 
| /OUT:filename | Specifies the output file name | 
| /PDB:filename | Creates a program database (.PDB) file | 
| /PDBTYPE:{con[solidate]|sept[ypes]} | Specifies where to store the Program Database (PDB) debug type information. | 
| /PROFILE | Enables profiling (creates a mapfile) | 
| /RELEASE | Sets the checksum in the .EXE header | 
| /SECTION:name,attributes | Overrides the attributes of a section | 
| /STACK:reserve[,commit] | Sets the size of the stack in bytes | 
| /STUB:filename | Attaches an MS-DOS stub program to a Win32 program | 
| /SUBSYSTEM:{CONSOLE|WINDOWS|NATIVE|POSIX|WINDOWSCE} [,major[.minor] ] | Tells the operating system how to run the .EXE file | 
| /SWAPRUN:{NET|CD} | Tells the operating system to copy the linker output to a swap file before running it | 
| /VERBOSE[:LIB] | Prints linker progress messages | 
| /VERSION:major[.minor] | Assigns a version number | 
| /VXD | Creates a virtual device driver (VxD) | 
| /WARN[:level] | Specifies warning level | 
| /WS:AGGRESSIVE | Aggressively trim process memory | 
For related information, see Compiler-Controlled LINK Options.