티스토리 뷰
cl /help
C:\Users\Tribal\Desktop\test>cl /help Microsoft (R) C/C++ 최적화 컴파일러 버전 19.00.24215.1(x64) Copyright (c) Microsoft Corporation. All rights reserved. C/C++ 컴파일러 옵션 -최적화- /O1 공간을 최소화합니다. /O2 속도를 최대화합니다. /Ob<n> 인라인 확장(기본값 n=0) /Od 최적화를 사용하지 않습니다(기본값). /Og 전역 최적화를 사용합니다. /Oi[-] 내장 함수를 사용합니다. /Os 코드 공간을 우선 고려합니다. /Ot 코드 속도를 우선 고려합니다. /Ox 최적화를 최대화합니다. /favor:<blend|AMD64|INTEL64|ATOM> 최적화할 프로세서를 선택합니다. 다음 중 하 나일 수 있습니다. blend - 여러 가지 x64 프로세서에 대해 최적화되도록 설정합니다. AMD64 - 64비트 AMD 프로세서 INTEL64 - Intel(R)64 아키텍처 프로세서 ATOM - Intel(R) Atom(TM) 프로세서 -코드 생성- /Gw[-] 링커 분리 전역 변수를 사용합니다./GF 읽기 전용 문자열 풀링을 사용합니 다. /Gm[-] 최소 다시 빌드를 사용합니다. /Gy[-] 링커 분리 함수를 사용합니다. /GS[-] 보안 검사를 사용합니다. /GR[-] C++ RTTI를 사용합니다. /GX[-] C++ EH를 사용합니다(/EHsc와 동일). /guard:cf[-] CFG 사용(제어 흐름 보호) /EHs C++ EH를 사용합니다(SEH 예외 제 외). /EHa C++ EH를 사용합니다(SEH 예외 포함). /EHc extern "C" 기본값을 nothrow로 설정합니다. /EHr은 항상 noexcept 런타임 종료 검사를 생성합니다. /fp:<except[-]|fast|precise|strict> 부동 소수점 모델 선택: except[-] - 코드 생성 시 부동 소수점 예외를 고려합니다. fast - "fast" 부동 소수점 모델입니다. 결과를 예측하기 힘듭니다. precise - "precise" 부동 소수점 모델입니다. 결과를 예측할 수 있습니다. strict - "strict" 부동 소수점 모델(/fp:except를 의미) /Qfast_transcendentals는 /fp:except가 있더라도 인라인 FP 내장을 생성합니다. /Qpar[-] 병렬 코드 생성을 사용합니다. /Qpar-report:1 자동 평행화 도우미 진단이며 평행화된 루프를 나타냅니다. /Qpar-report:2 자동 평행화 도우미 진단이며 평행화되지 않은 루프를 나타냅니다. /Qvec-report:1 자동 벡터화 도우미 진단이며 벡터화된 루프를 나타냅니다. /Qvec-report:2 자동 벡터화 도우미 진단이며 벡터화되지 않은 루프를 나타냅니다. (계속하려면 <return> 키를 누르십시오.) /GL[-] 링크 타임 코드 생성을 사용합니다./volatile:<iso|ms> volatile 모델 선택: iso - volatile 액세스에서 보장되지 않는 의미 체계를 가져오거나 해제합니다. ms - volatile 액세스에서 보장되는 의미 체계를 가져오거나 해제합니다. /GA Windows 응용 프로그램에 맞게 최적화합니다. /Ge 모든 함수에 대해 스택 검사를 수행합니다. /Gs[num] 스택 검사 호출을 제어합니다. /Gh _penter 함수 호출을 사용합니다. /GH _pexit 함수 호출을 사용합니다. /GT 파이버 안전 TLS 액세스를 생성합니다. /RTC1 빠른 검사를 사용합니다(/RTCsu). /RTCc 작은 형식 검사로 변환합니다. /RTCs 스택 프레임 런타임 검사를 수행합니다. /RTCu 초기화되지 않은 지역 변수가 사용되는지 검사합니다. /clr[:option] 공용 언어 런타임에 대해 컴파일합니다. 옵션: pure - IL 전용 출력 파일을 생성합니다(네이티브 실행 코드 제외). safe - 확인할 수 있는 IL 전용 출력 파일을 생성합니다. initialAppDomain - Visual C++ 2002의 초기 AppDomain 동작을 사용합니다. noAssembly - 어셈블리를 생성하지 않습니다. nostdlib - 기본 \clr 디렉터리를 무시합니다. /homeparams 레지스터에 전달된 매개 변수를 스택에 강제로 씁니다. /GZ 스택 검사를 사용합니다(/RTCs). /arch:AVX AVX를 사용할 수 있는 CPU의 명령을 사용합니다. /arch:AVX2 AVX2를 사용할 수 있는 CPU의 명령을 사용합니다. /Gv __vectorcall 호출 규칙 -출력 파일- /Fa[file] 어셈블리 목록 파일 이름을 지정합니다. /FA[scu] 어셈블리 목록을 구성합니다. /Fd[file] .PDB 파일 이름을 지정합니다. /Fe<file> 실행 파일 이름을 지정합니다. /Fm[file] 맵 파일 이름을 지정합니다. /Fo<file> 개체 파일 이름을 지정합니다. /Fp<file> 미리 컴파일된 헤더 파일 이름을 지정합니다. /Fr[file] 소스 브라우저 파일 이름을 지정합니다. /FR[file] 확장 .SBR 파일 이름을 지정합니다. /Fi[file] 전처리 파일의 이름을 지정합니다. /Fd: <file> .PDB 파일의 이름을 지정합니다. /Fe: <file> 실행 파일의 이름을 지정합니다. /Fm: <file> 맵 파일의 이름을 지정합니다. /Fo: <file> 개체 파일의 이름을 지정합니다. /Fp: <file> .PCH 파일의 이름을 지정합니다. /FR: <file> 확장 .SBR 파일의 이름을 지정합니다. /Fi: <file> 전처리 파일의 이름을 지정합니다. /doc[file] XML 문서 주석을 처리하고 선택적으로 .xdc 파일의 이름을 지정합니다. (계속하려면 <return> 키를 누르십시오.) -전처리기- /AI<dir> 어셈블리 검색 경로에 추가합니다. /FU<file> 어셈블리/모듈을 강제 사용합니다. /C 주석을 제거하지 않습니다. /D<name>{=|#}<text> 매크로를 정의합니다. /E stdout으로 전처리합니다. /EP #line 없이 stdout으로 전처리합니 다. /P 파일로 전처리합니다. /Fx 삽입된 코드를 파일에 병합합니다. /FI<file> 강제 포함 파일의 이름을 지정합니다. /U<name> 미리 정의된 매크로를 제거합니다. /u 미리 정의된 모든 매크로를 제거합니다./I<dir> 포함 검색 경로에 추가합니다. /X "표준 위치"를 무시합니다. -언어- /Zi 디버깅 정보를 사용합니다. /Z7 이전 스타일 디버그 정보를 사용합니다. /Zp[n] n-바이트 경계에서 구조체를 압축합니다. /Za 확장명을 사용하지 않습니다. /Ze 확장명을 사용합니다(기본값). /Zl .OBJ에서 기본 라이브러리 이름을 생략합니다. /Zs 구문 검사만 수행합니다. /vd{0|1|2} vtordisp를 사용하지 않거나 사용합니다. /vm<x> 멤버에 대한 포인터 형식입니다. /Zc:arg1[,arg2] C++ 언어 규칙이며 인수는 다음과 같습니다. forScope[-] 표준 C++ 범위 지정 규칙을 적용합니다. wchar_t[-] wchar_t는 네이티브 형식이며 형식 정의가 아닙니다. auto[-] auto에 새 표준 C++의 의미를 적용합니다. trigraphs[-] 삼중자를 사용합니다(기본적으로 사용 안 함). rvalueCast[-] 표준 C++ 명시적 형식 변환 규칙을 적용합니다. strictStrings[-] [char|wchar_t]* 변환에* 문자열 리터럴 사용 안 함(기본적으로 사용 안 함) implicitNoexcept[-] 필수 함수에서 암시적인 noexcept를 사용합니다. threadSafeInit[-] 스레드로부터 안전한 로컬 정적 초기화 사용 inline[-] COMDAT이거나 내부 링크만 있는 경우(기본적으로 해제) 참조되지 않은 함수 또는 데이터를 제거합니다. sizedDealloc[-] 전역으로 크기가 지정된 C++14 할당 해제 함수를 사용합니다(기본적으로 설정됨). throwingNew[-] new 연산자가 실패 시 throw된다고 간주합니다(기본적으 로 해제됨). referenceBinding[-] 임시 개체는 비const lvalue 참조에 바인딩되지 않습니다(기본적으로 해제됨). /ZH:SHA_256 디버그 정보의 파일 체크섬에 SHA256을 사용합니다(실험 적). /Zo[-] 최적화된 코드에 대해 더욱 자세한 디버깅 정보를 생성합니다(기본적으로 설정됨). /ZW WinRT 언어 확장을 사용합니다. /constexpr:depth<N> constexpr에 대한 재귀 깊이 제한으로 <N>을 사용합니다(기본값: 512). (계속하려면 <return> 키를 누르십시오.) /constexpr:backtrace<N> 진단에서 <N>개의 constexpr 평가를 표시합니다(기본값: 10). /constexpr:steps<N> <N>단계 후 constexpr 평가를 종료합니다(기본값: 100000). /ZI 편집하며 계속하기 디버그 정보를 사용합니다. /openmp OpenMP 2.0 언어 확장을 사용합니다. -기타- @<file> 옵션 지시 파일 /?, /help 이 도움말 메시지를 인쇄합니다. /bigobj 확장 개체 형식을 생성합니다. /c 컴파일만 하고 링크는 하지 않습니다. /errorReport:option Microsoft에 내부 컴파일러 오류를 보고합니다. none - 보고서를 보내지 않습니다. prompt - 즉시 보고서를 보낼지 여부를 확인합니다. queue - 관리자가 다음에 로그온할 때 보고서를 보낼지 여부를 확인합니다(기 본값). send - 자동으로 보고서를 보냅니다. /FC 진단에 전체 경로 이름을 사용합니 다. /H<num> 외부 이름의 최대 길이입니다. /J 기본 문자 형식을 unsigned로 지정합니다. /MP[n] 컴파일하기 위한 프로세스를 'n'개까지 사용합니다. /nologo 저작권 메시지를 표시하지 않습니다. /sdl 추가 보안 기능 및 경고를 사용합니다. /showIncludes 포함 파일의 이름을 표시합니다. /Tc<source file> 파일을 .c로 컴파일합니다. /Tp<source file> 파일을 .cpp로 컴파일합니다. /TC 모든 파일을 .c로 컴파일합니다. /TP 모든 파일을 .cpp로 컴파일합니다. /V<string> 버전 문자열을 설정합니다. /w 모든 경고를 사용하지 않습니다. /wd<n> 경고 n을 사용하지 않습니다. /we<n> 경고 n을 오류로 처리합니다. /wo<n> 경고 n을 한 번 발생시킵니다. /w<l><n> n에 대해 경고 수준(1-4)을 설정합니다. /W<n> 경고 수준을 설정합니다(기본값 n=1). /Wall 모든 경고를 사용합니다. /WL 한 줄 진단을 사용합니다. /WX 경고를 오류로 처리합니다. /Yc[file] .PCH 파일을 만듭니다. /Yd 모든 .OBJ에 디버그 정보를 입력합니다. /Yl[sym] 디버그 라이브러리에 .PCH 참조를 삽입합니다. /Yu[file] .PCH 파일을 사용합니다. /Y- 모든 PCH 옵션을 사용하지 않습니다. /Zm<n> 최대 메모리를 할당합니다(기본값의 %). /FS를 지정하면 MSPDBSRV.EXE가 강제로 사용됩니다. /await는 다시 시작 가능한 함수 확장명을 사용하도록 설정합니다. /Wv:xx[.yy[.zzzzz]] xx.yy.zzzzz 버전 이후 발생한 경고를 비활성화합니다. /source-charset:<iana-name>|.nnnn 원본 문자 집합을 설정합니다. /execution-charset:<iana-name>|.nnnn 실행 문자 집합을 설정합니다. /utf-8 원본 및 실행 문자 집합을 UTF-8로 설정합니다. (계속하려면 <return> 키를 누르십시오.) /validate-charset[-] 올바른 문자에 대한 UTF-8 파일의 유효성만 검사합니다. -링크- /LD .DLL을 만듭니다. /LDd .DLL 디버그 라이브러리를 만듭니 다. /LN .netmodule을 만듭니다. /F<num> 스택 크기를 설정합니다. /link [링커 옵션 및 라이브러리] /MD MSVCRT.LIB에 링크합니다. /MT LIBCMT.LIB에 링크합니다. /MDd MSVCRTD.LIB 디버그 라이브러리에 링크합니다. /MTd LIBCMTD.LIB 디버그 라이브러리에 링크합니다. -코드 분석- /analyze[-] 네이티브 분석을 사용하도록 설정 /analyze:quiet[-] 콘솔에 경고를 표시하지 않음 /analyze:log<name> 파일에 경고 기록 /analyze:autolog 기록 대상: *.pftlog /analyze:autolog:ext<ext> *.<ext>에 기록/analyze:autolog- 로그 파일 없음 /analyze:WX- 심각하지 않은 경고 /analyze:stacksize<num> 최대 스택 프 레임 /analyze:max_paths<num> 최대 경로 /analyze:only 분석하되 코드를 생성하지 않음 | cs |
'Programming > C' 카테고리의 다른 글
[Socket] Socketpair 및 sendmsg, recvmsg (0) | 2018.07.20 |
---|---|
[Windows] Makefile, batch 파일 예제 코드 저장본 (0) | 2018.04.03 |
SSL Programming Tutorial (2) | 2018.03.18 |
C++ virtual과 &(참조 포인터) 관련 삽질방지 (1) | 2018.02.28 |
소프트웨어 디자인 패턴 (0) | 2018.01.27 |
댓글