링커 옵션
LINK.exe COFF(Common Object File Format) 개체 파일 및 라이브러리를 연결하여 EXE(실행 파일) 파일 또는 DLL(동적 연결 라이브러리)을 만듭니다.
다음 테이블에는 LINK.exe의 옵션이 나열됩니다. LINK에 대한 자세한 내용은 다음을 참조하세요.
명령줄에서 링커 옵션은 대/소문자를 구분하지 않습니다. 예를 들어 동일한 /base
/BASE
것을 의미합니다. 명령줄 또는 Visual Studio에서 각 옵션을 지정하는 방법에 대한 자세한 내용은 해당 옵션에 대한 설명서를 참조하세요.
pragma를 comment
사용하여 몇 가지 링커 옵션을 지정할 수 있습니다.
사전순으로 나열된 링커 옵션
옵션 | 목적 |
---|---|
@ |
지시 파일을 지정합니다. |
/ALIGN |
각 섹션의 맞춤을 지정합니다. |
/ALLOWBIND |
DLL을 바인딩할 수 없되도록 지정합니다. |
/ALLOWISOLATION |
매니페스트 조회 동작을 지정합니다. |
/APPCONTAINER |
앱을 appcontainer 프로세스 환경 내에서 실행해야 하는지 여부를 지정합니다. |
/ARM64XFUNCTIONPADMINX64 |
ARM64X 이미지에서 x64 함수 간의 최소 패딩 바이트 수를 지정합니다.17.8 |
/ASSEMBLYDEBUG |
관리되는 이미지에 DebuggableAttribute 를 추가합니다. |
/ASSEMBLYLINKRESOURCE |
관리되는 리소스에 대한 링크를 만듭니다. |
/ASSEMBLYMODULE |
MSIL(Microsoft Intermediate Language) 모듈을 어셈블리로 가져와야 하는지 여부를 지정합니다. |
/ASSEMBLYRESOURCE |
관리되는 리소스 파일을 어셈블리에 포함합니다. |
/BASE |
프로그램의 기준 주소를 설정합니다. |
/CETCOMPAT |
이진 파일을 CET 섀도 스택 호환으로 표시합니다. |
/CGTHREADS |
링크 타임 코드 생성을 지정할 때 최적화 및 코드 생성에 사용할 cl.exe 스레드 수를 설정합니다. |
/CLRIMAGETYPE |
CLR 이미지의 형식(IJW, 순수 또는 안전)을 설정합니다. |
/CLRSUPPORTLASTERROR |
P/Invoke 메커니즘을 통해 호출된 함수의 마지막 오류 코드를 유지합니다. |
/CLRTHREADATTRIBUTE |
CLR 프로그램의 진입점에 적용할 스레딩 특성을 지정합니다. |
/CLRUNMANAGEDCODECHECK |
링커가 관리 코드에서 네이티브 DLL로 호출하는 링커 생성 P/Invoke 스텁에 특성을 적용 SuppressUnmanagedCodeSecurity 할지 여부를 지정합니다. |
/DEBUG |
디버깅 정보를 생성합니다. |
/DEBUGTYPE |
디버깅 정보에 포함할 데이터를 지정합니다. |
/DEF |
모듈 정의 파일(.def)을 링커에 전달합니다. |
/DEFAULTLIB |
외부 참조가 확인되면 지정한 라이브러리를 검색합니다. |
/DELAY |
DLL의 지연 로드를 제어합니다. |
/DELAYLOAD |
지정한 DLL의 지연 로드를 일으킵니다. |
/DELAYSIGN |
어셈블리에 부분적으로 서명합니다. |
/DEPENDENTLOADFLAG |
종속 DLL 로드에 대한 기본 플래그를 설정합니다. |
/DLL |
DLL을 빌드합니다. |
/DRIVER |
커널 모드 드라이버를 만듭니다. |
/DYNAMICBASE |
ASLR(주소 공간 레이아웃 임의화) 기능을 사용하여 로드 시 다시 기반이 되는 실행 파일을 생성할지 여부를 지정합니다. |
/ENTRY |
시작 주소를 설정합니다. |
/ERRORREPORT |
사용되지 않음. 오류 보고는 WER(Windows 오류 보고) 설정에 의해 제어됩니다. |
/EXPORT |
함수를 내보냅니다. |
/FILEALIGN |
출력 파일 내의 섹션을 지정된 값의 배수에 맞춥니다. |
/FIXED |
기본 설정 기준 주소에서만 로드할 수 있는 프로그램을 만듭니다. |
/FORCE |
확인되지 않은 기호 또는 두 번 이상 정의된 기호를 사용해도 링크가 강제로 완료되도록 합니다. |
/FUNCTIONPADMIN |
핫 패치할 수 있는 이미지를 만듭니다. |
/GENPROFILE , /FASTGENPROFILE |
두 옵션 모두 PGO(프로필 기반 최적화)를 지원하기 위해 링커에서 파일 생성 .pgd 을 지정합니다. /GENPROFILE 및 /FASTGENPROFILE은 서로 다른 기본 매개 변수를 사용합니다. |
/GUARD |
제어 흐름 가드 보호를 사용하도록 설정합니다. |
/HEAP |
힙 크기를 바이트 단위로 설정합니다. |
/HIGHENTROPYVA |
높은 엔트로피 64비트 ASLR(Address Space Layout Randomization)에 대한 지원을 지정합니다. |
/IDLOUT |
파일 및 기타 MIDL 출력 파일의 .idl 이름을 지정합니다. |
/IGNORE |
지정된 링커 경고 출력을 표시하지 않습니다. |
/IGNOREIDL |
특성 정보를 파일로 처리하지 .idl 못하도록 합니다. |
/ILK |
기본 증분 데이터베이스 파일 이름을 재정의합니다. |
/IMPLIB |
기존 가져오기 라이브러리 이름을 재정의합니다. |
/INCLUDE |
기호 참조를 강제합니다. |
/INCREMENTAL |
증분 링크를 제어합니다. |
/INFERASANLIBS |
유추된 소독자 라이브러리를 사용합니다. |
/INTEGRITYCHECK |
로드할 때 모듈에 서명 확인이 필요한지 지정합니다. |
/KERNEL |
커널 모드 이진 파일을 만듭니다. |
/KEYCONTAINER |
어셈블리에 서명할 키 컨테이너를 지정합니다. |
/KEYFILE |
어셈블리에 서명할 키 또는 키 쌍을 지정합니다. |
/LARGEADDRESSAWARE |
애플리케이션이 2GB보다 큰 주소를 지원한다는 것을 컴파일러에 알릴 수 있습니다. |
/LIBPATH |
환경 라이브러리 경로 앞을 검색할 경로를 지정합니다. |
/LINKREPRO |
링크 재현 아티팩트를 생성하는 경로를 지정합니다. |
/LINKREPROFULLPATHRSP |
링커가 입력으로 사용한 모든 파일에 대한 절대 경로를 포함하는 응답 파일을 생성합니다. |
/LINKREPROTARGET |
지정된 대상을 생성할 때만 링크 재현을 생성합니다.16.1 |
/LTCG |
링크 타임 코드 생성을 지정합니다. |
/MACHINE |
대상 플랫폼을 지정합니다. |
/MANIFEST |
side-by-side 매니페스트 파일을 만들고 선택적으로 이진에 포함합니다. |
/MANIFESTDEPENDENCY |
매니페스트 파일에서 <dependentAssembly> 섹션을 지정합니다. |
/MANIFESTFILE |
매니페스트 파일의 기본 이름을 변경합니다. |
/MANIFESTINPUT |
처리할 링커의 매니페스트 입력 파일을 지정해서 이진에 포함합니다. 이 옵션을 여러 번 사용하여 매니페스트 입력 파일을 두 개 이상 지정합니다. |
/MANIFESTUAC |
UAC(사용자 계정 컨트롤) 정보를 program 매니페스트에 포함할지 여부를 지정합니다. |
/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 |
PDB에 추가할 SourceLink 파일을 지정합니다. |
/STACK |
스택 크기를 바이트 단위로 설정합니다. |
/STUB |
MS-DOS 스텁 프로그램을 Win32 프로그램에 첨부합니다. |
/SUBSYSTEM |
운영 체제에 파일을 실행하는 .exe 방법을 알려줍니다. |
/SWAPRUN |
링커 출력을 실행하기 전에 스왑 파일에 복사하도록 운영 체제에 지시합니다. |
/TIME |
출력 링커는 타이밍 정보를 전달합니다. |
/TLBID |
링커 생성 형식 라이브러리의 리소스 ID를 지정합니다. |
/TLBOUT |
파일 및 기타 MIDL 출력 파일의 .tlb 이름을 지정합니다. |
/TSAWARE |
터미널 서버에서 실행되는 특별히 디자인된 애플리케이션을 만듭니다. |
/USEPROFILE |
프로필 기반 최적화 학습 데이터를 사용하여 최적화된 이미지를 만듭니다. |
/VERBOSE |
링커 진행 메시지를 출력합니다. |
/VERSION |
버전 번호를 할당합니다. |
/WHOLEARCHIVE |
지정된 정적 라이브러리의 모든 개체 파일을 포함합니다. |
/WINMD |
Windows 런타임 메타데이터 파일을 생성하도록 설정합니다. |
/WINMDFILE |
링커 옵션에서 생성된 /WINMD Windows 런타임 메타데이터(winmd) 출력 파일의 파일 이름을 지정합니다. |
/WINMDKEYFILE |
Windows 런타임 메타데이터 파일에 서명할 키 또는 키 쌍을 지정합니다. |
/WINMDKEYCONTAINER |
Windows 메타데이터 파일에 서명할 키 컨테이너를 지정합니다. |
/WINMDDELAYSIGN |
winmd 파일에 공개 키를 배치하여 Windows 런타임 메타데이터(.winmd ) 파일에 부분적으로 서명합니다. |
/WX |
링커 경고를 오류로 처리합니다. |
16.1 이 옵션은 Visual Studio 2019 버전 16.1부터 사용할 수 있습니다.
17.8 이 옵션은 Visual Studio 2022 버전 17.8부터 사용할 수 있습니다.