VCCLCompilerTool 인터페이스
VCCLCompilerTool 개체는 C++ 컴파일러 옵션의 기능을 노출합니다.컴파일러 옵션에 대한 자세한 내용은 컴파일러 옵션을 참조하십시오.
네임스페이스: Microsoft.VisualStudio.VCProjectEngine
어셈블리: Microsoft.VisualStudio.VCProjectEngine(Microsoft.VisualStudio.VCProjectEngine.dll)
구문
‘선언
<GuidAttribute("5D579FF0-3839-4B36-9F3E-4BA2F790525A")> _
Public Interface VCCLCompilerTool
[GuidAttribute("5D579FF0-3839-4B36-9F3E-4BA2F790525A")]
public interface VCCLCompilerTool
[GuidAttribute(L"5D579FF0-3839-4B36-9F3E-4BA2F790525A")]
public interface class VCCLCompilerTool
[<GuidAttribute("5D579FF0-3839-4B36-9F3E-4BA2F790525A")>]
type VCCLCompilerTool = interface end
public interface VCCLCompilerTool
VCCLCompilerTool 형식에서는 다음과 같은 멤버를 노출합니다.
속성
이름 | 설명 | |
---|---|---|
AdditionalIncludeDirectories | 포함 경로에 추가할 하나 이상의 디렉터리를 가져오거나 설정합니다.AdditionalIncludeDirectories 제공 하는 기능을 컴파일러의 /I(추가 포함 디렉터리) MIDL 컴파일러 옵션을 MIDL 속성 페이지: 일반 , 옵션 및 리소스 컴파일러의 리소스 속성 페이지 옵션. | |
AdditionalOptions | 명령줄의 끝, 파일 이름 바로 앞에 추가할 옵션을 가져오거나 설정합니다.예를 들어 개체 모델에서 옵션이 지원되지 않는 경우가 여기에 해당합니다. | |
AdditionalUsingDirectories | 으로 전달 된 파일 참조를 확인 하기 위해 검색할 디렉터리를 가져오거나 설정 합니다.의 # 지시문 (c) 지시문입니다.AdditionalUsingDirectories 은 컴파일러의 /AI(메타데이터 디렉터리 지정) 옵션 기능을 노출합니다. | |
AssemblerListingLocation | ASM 목록 파일의 이름 및/또는 상대 경로 나타내는 값을 가져오거나 설정 합니다.AssemblerListingLocation 제공 하는 기능을 컴파일러의 /Fa 옵션입니다. | |
AssemblerOutput | 어셈블리 언어 출력 파일의 내용을 가져오거나 설정 합니다.AssemblerOutput 제공 하는 기능을 컴파일러의 /FA, /Fa(목록 파일) 옵션입니다. | |
BasicRuntimeChecks | 전체 런타임 오류 검사/RTC(런타임 오류 검사)), 런타임에 스택 프레임 유효성 검사(/RTC(런타임 오류 검사)) 및 런타임에 초기화되지 않은 변수 검사(/RTC(런타임 오류 검사))를 수행할지 여부를 나타내는 값을 가져오거나 설정합니다. | |
BrowseInformation | .Bsc 파일을 찾아보기 정보를 지정합니다.BrowseInformation 제공 하는 기능을 컴파일러의 /FR, /Fr(.Sbr 파일 만들기) 옵션입니다. | |
BrowseInformationFile | 찾아보기 정보 파일의 선택적 이름을 가져오거나 설정 합니다.BrowseInformationFile 제공 하는 기능을 컴파일러의 /FR, /Fr(.Sbr 파일 만들기) 옵션입니다. | |
BufferSecurityCheck | 버퍼 오버런을 확인할 지 여부를 나타내는 값을 가져오거나 설정 합니다.BufferSecurityCheck 은 컴파일러의 /GS(버퍼 보안 검사) 옵션 기능을 노출합니다. | |
CallingConvention | 기본 응용 프로그램에 대 한 호출 규칙을 가져오거나 설정 합니다.CallingConvention 제공 하는 기능을 컴파일러의 /Gd, /Gr, /Gz(호출 규칙) 옵션입니다. | |
CompileAs | 선택 언어 옵션을.c 및.cpp 파일을 컴파일합니다.CompileAs 제공 하는 기능을 컴파일러의 /Tc, /Tp, /TC, /TP(소스 파일 형식 지정) 옵션입니다. | |
CompileAsManaged | 컴파일러 옵션을 나타내는 값을 가져오거나 설정합니다. | |
CompileOnly | 연결하지 않고 컴파일할지 여부를 나타내는 값을 가져오거나 설정합니다. | |
DebugInformationFormat | 컴파일러에서 생성 하는 디버깅 정보의 형식을 가져오거나 설정 합니다.DebugInformationFormat 제공 하는 기능을 컴파일러의 /Z7, /Zi, /ZI(디버깅 정보 형식) 옵션입니다. | |
DefaultCharIsUnsigned | 기본 char 형식은 부호를 설정 하거나 가져옵니다.DefaultCharIsUnsigned 은 컴파일러의 /J(부호 없는 기본 문자 형식) 옵션 기능을 노출합니다. | |
Detect64BitPortabilityProblems | 컴파일러에서 64 비트 이식성 문제를 확인할 것인지 여부를 나타내는 값을 가져오거나 설정 합니다.Detect64BitPortabilityProblems 은 컴파일러의 /Wp64(64비트 이식성 문제 검색) 옵션 기능을 노출합니다. | |
DisableLanguageExtensions | 언어 확장을 억제할 것인지 여부를 나타내는 값을 가져오거나 설정 합니다.DisableLanguageExtensions 은 컴파일러의 /Za, /Ze(언어 확장 사용 안 함) 옵션 기능을 노출합니다. | |
DisableSpecificWarnings | 원하는 경고 번호를 사용 하지 않도록 설정 하는 값을 가져오거나 설정 합니다. 번호를 세미콜론으로 구분 된 목록에 배치 됩니다.DisableSpecificWarnings 은 컴파일러의 /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won(경고 수준) 옵션 기능을 노출합니다. | |
EnableEnhancedInstructionSet | 지시는 SSE 및 SSE2 향상에 i A-32와 같은 향상 된 명령 집합을 지 원하는 프로세서에 사용할 수 있습니다 하는 값을 가져오거나 설정 합니다.EnableEnhancedInstructionSet 은 컴파일러의 /ARCH 옵션 기능을 노출합니다. | |
EnableFiberSafeOptimizations | 파이버 및 스레드 로컬 저장소 액세스를 사용할 때 메모리 공간 최적화를 사용 하는 값을 가져오거나 설정 합니다.EnableFiberSafeOptimizations 은 컴파일러의 /GT(파이버 안전 스레드 로컬 저장소 지원) 옵션 기능을 노출합니다. | |
EnableFunctionLevelLinking | 함수 수준 링크를 사용 하는 값을 가져오거나 설정 합니다.EnableFunctionLevelLinking 은 컴파일러의 /Gy(함수 수준 링크 사용) 옵션 기능을 노출합니다. | |
EnableIntrinsicFunctions | 내장 함수를 사용 하 여 빠르지만 더 큰 코드를 생성할 수 있는지 여부를 나타내는 값을 가져오거나 설정 합니다.EnableIntrinsicFunctions 은 컴파일러의 /Oi(내장 함수 만들기) 옵션 기능을 노출합니다. | |
EnablePREfast | 네이티브 코드 분석을 사용할지 여부를 나타내는 값을 가져오거나 설정합니다. | |
ErrorReporting | 컴파일러 오류 보고를 가져오거나 설정합니다. | |
ExceptionHandling | 의해 throw 된 예외를 인 한 스택 해제 중 자동 개체에 대 한 소멸자에 대 한 호출에 사용 되는 값을 가져오거나 설정 합니다.ExceptionHandling 은 컴파일러의 /EH(예외 처리 모델) 옵션 기능을 노출합니다. | |
ExecutionBucket | 인프라입니다. Microsoft 내부용입니다. | |
ExpandAttributedSource | 소스 파일에 삽입 한 확장 된 특성을 갖는 목록 파일을 만들 것인지 여부를 나타내는 값을 가져오거나 설정 합니다.ExpandAttributedSource 은 컴파일러의 /Fx(삽입된 코드 병합) 옵션 기능을 노출합니다. | |
FavorSizeOrSpeed | 코드 크기나 코드 속도 우선 하는지 여부를 나타내는 값을 가져오거나 설정 합니다.FavorSizeOrSpeed 제공 하는 기능을 컴파일러의 /Os, /Ot(크기 우선 코드, 속도 우선 코드) 옵션입니다. | |
FloatingPointExceptions | 사용자 정의 부동 소수점 예외 처리를 사용할지 여부를 나타내는 값을 설정하거나 가져옵니다. | |
floatingPointModel | 부동 소수점 모델을 설정하거나 가져옵니다. | |
ForceConformanceInForLoopScope | 컴파일러가 For 루프의 지역 범위에 따라야 할지 여부를 나타내는 값을 가져오거나 설정 합니다.ForceConformanceInForLoopScope 은 컴파일러의 /Zc:forScope(for 루프 범위의 강제 규칙) 옵션 기능을 노출합니다. | |
ForcedIncludeFiles | 하나를 강제 포함 파일을 지정 하는 값을 가져오거나 설정 합니다.ForcedIncludeFiles 은 컴파일러의 /FI(강제 포함 파일 이름 지정) 옵션 기능을 노출합니다. | |
ForcedUsingFiles | 전달 된 것 처럼 파일 이름 사용 하도록 강제는 # 지시문 (c) 지시문입니다.ForcedUsingFiles 은 컴파일러의 /FU(강제 #using 파일 이름 지정) 옵션 기능을 노출합니다. | |
FullIncludePath | 빌드에 포함된 모든 디렉터리의 목록을 가져옵니다. /I로 지정된 디렉터리와 VC++ Directories 대화 상자에서 지정된 디렉터리를 연결합니다.이러한 디렉터리에 있는 매크로도 평가됩니다. | |
GeneratePreprocessedFile | 가져오거나이 구성에 대 한 전처리 옵션 설정.GeneratePreprocessedFile 제공 하는 기능을 컴파일러의 /EP(#line 지시문 없이 stdout로 전처리) 및 /P(파일 전처리) 옵션입니다. | |
GenerateXMLDocumentationFiles | XML 설명서 파일을 생성할지 여부를 나타내는 값을 설정하거나 가져옵니다. | |
IgnoreStandardIncludePath | 표준을 무시할지 여부를 나타내는 값을 가져오거나 설정 합니다. 경로 포함 합니다.IgnoreStandardIncludePath 제공 하는 기능을 컴파일러의 /X(표준 포함 경로 무시) MIDL 컴파일러 옵션을 MIDL 속성 페이지: 일반 , 옵션 및 리소스 컴파일러의 리소스 속성 페이지 옵션. | |
InlineFunctionExpansion | 인라인 함수 확장 빌드에 대 한 수준을 가져오거나 설정 합니다.InlineFunctionExpansion 제공 하는 기능을 컴파일러의 /Ob(인라인 함수 확장) 옵션입니다. | |
KeepComments | 소스 코드의 주석 스트립을 억제할 것인지 여부를 나타내는 값을 가져오거나 설정 합니다.KeepComments 은 컴파일러의 /C(전처리 중에 주석 유지) 옵션 기능을 노출합니다. | |
MinimalRebuild | C + + 클래스 정의에 대 한 변경 내용을 감지 하 고 영향을 받는 소스 파일을 다시 컴파일하십시오 여부는 값을 가져오거나 설정 합니다.MinimalRebuild 은 컴파일러의 /Gm(최소 다시 빌드 사용) 옵션 기능을 노출합니다. | |
ObjectFile | 기본 개체 파일 이름을 우선 하는 이름을 가져오거나 설정 합니다.ObjectFile 은 컴파일러의 /Fo(개체 파일 이름) 옵션 기능을 노출합니다. | |
OmitDefaultLibName | 기본 라이브러리 이름을 생략할지 여부를 나타내는 값을 가져오거나 설정합니다. | |
OmitFramePointers | Framepointers 표시 하지 여부를 나타내는 값을 가져오거나 설정 합니다.OmitFramePointers 은 컴파일러의 /Oy(프레임 포인터 생략) 옵션 기능을 노출합니다. | |
OpenMP | OpenMP를 사용할지 여부를 나타내는 값을 가져오거나 설정합니다. | |
Optimization | 코드 최적화에 대 한 옵션을 가져오거나 설정 합니다.Optimization 제공 하는 기능을 컴파일러의 /Od(디버그 비활성화), /O1, /O2(크기 최소화, 속도 최대화), 및 /Ox(최대 최적화) 옵션입니다. | |
PrecompiledHeaderFile | 생성 된 미리 컴파일된 헤더 파일의 이름 및/또는 경로 가져오거나 설정 합니다.PrecompiledHeaderFile 은 컴파일러의 /Fp(.Pch 파일 이름 지정) 옵션 기능을 노출합니다. | |
PrecompiledHeaderThrough | 만들기 또는 미리 컴파일된 헤더 파일을 사용 하는 경우 사용 하는 헤더 파일 이름을 설정 하거나 가져옵니다.PrecompiledHeaderThrough 제공 하는 기능을 컴파일러의 /Yc(미리 컴파일된 헤더 파일 만들기), 및 /Yu(미리 컴파일된 헤더 파일 사용) 옵션입니다. | |
PreprocessorDefinitions | 하나 이상의 전처리기 정의를 가져오거나 설정합니다.PreprocessorDefinitions 제공 하는 기능을 컴파일러의 /D(전처리기 정의) MIDL 컴파일러 옵션을 MIDL 속성 페이지: 일반 , 옵션 및 리소스 컴파일러의 리소스 속성 페이지 옵션. | |
ProgramDataBaseFileName | 컴파일러에서 생성 된.pdb 파일의 이름과 필요한 컴파일러 생성.idb 파일의 기본 이름을 가져오거나 설정 합니다.ProgramDataBaseFileName 은 컴파일러의 /Fd(프로그램 데이터베이스 파일 이름) 옵션 기능을 노출합니다. | |
RuntimeLibrary | 연결에 대 한 런타임 라이브러리를 가져오거나 설정 합니다.RuntimeLibrary 제공 하는 기능을 컴파일러의 /MD, /MT, /LD(런타임 라이브러리 사용) 옵션입니다. | |
RuntimeTypeInfo | C + + 개체 형식을 런타임에 (런타임 형식 정보)를 확인 하는 코드를 추가할 것인지 여부를 나타내는 값을 가져오거나 설정 합니다.RuntimeTypeInfo 은 컴파일러의 /GR(런타임 형식 정보 사용) 옵션 기능을 노출합니다. | |
ShowIncludes | 컴파일러 출력으로 포함 파일 목록 생성 여부를 나타내는 값을 가져오거나 설정 합니다.ShowIncludes 은 컴파일러의 /showIncludes(포함 파일 나열) 옵션 기능을 노출합니다. | |
SmallerTypeCheck | 더 작은 형식으로의 변환에 대 한 검사를 사용할지 여부를 나타내는 값을 가져오거나 설정 합니다.SmallerTypeCheck 은 컴파일러의 /RTC(런타임 오류 검사) 옵션 기능을 노출합니다. | |
StringPooling | 읽기 전용 문자열을 사용 하려면 풀링 생성 하는 더 작은 컴파일된 코드 여부를 나타내는 값을 가져오거나 설정 합니다.StringPooling 은 컴파일러의 /GF(중복 문자열 제거) 옵션 기능을 노출합니다. | |
StructMemberAlignment | 1-, 2-, 4-, 8 또는 16 바이트 경계에 지정합니다.StructMemberAlignment C++ 컴파일러의 기능을 노출 /Zp(구조체 멤버 맞춤) 옵션 및 MIDL 컴파일러의 MIDL 속성 페이지: 고급 옵션입니다. | |
SuppressStartupBanner | 시작 배너 및 정보 메시지를 표시하지 않습니다. | |
ToolKind | 도구 종류의 이름을 가져옵니다. | |
toolName | 지정된 도구의 이름을 가져옵니다. | |
ToolPath | 지정된 도구의 경로를 가져옵니다. | |
TreatWChar_tAsBuiltInType | Wchar_t를 기본 제공 형식으로 처리 하는지 여부를 나타내는 값을 가져오거나 설정 합니다.TreatWChar_tAsBuiltInType 은 컴파일러의 /Zc:wchar_t(wchar_t를 네이티브 형식으로 인식) 옵션 기능을 노출합니다. | |
UndefineAllPreprocessorDefinitions | 이전에 정의한 모든 전처리기 값을 정의 하지 않을 것인지 여부를 나타내는 값을 가져오거나 설정 합니다.UndefineAllPreprocessorDefinitions 은 컴파일러의 /U, /u(기호 정의 해제) 옵션 기능을 노출합니다. | |
UndefinePreprocessorDefinitions | 하나 이상의 전처리기 정의 해제를 지정 하는 값을 가져오거나 설정 합니다.UndefinePreprocessorDefinitions C++ 컴파일러의 기능을 노출 /U, /u(기호 정의 해제) 옵션 및 MIDL 컴파일러의 MIDL 속성 페이지: 고급 옵션입니다. | |
UseFullPaths | 전체 경로를 사용할지 여부를 나타내는 값을 가져오거나 설정합니다. | |
UsePrecompiledHeader | 빌드하는 동안 생성 또는 미리 컴파일된 헤더 사용을 활성화 하는 값을 가져오거나 설정 합니다.UsePrecompiledHeader 제공 하는 기능을 컴파일러의 /Yc(미리 컴파일된 헤더 파일 만들기) 및 /Yu(미리 컴파일된 헤더 파일 사용) 옵션입니다. | |
UseUnicodeResponseFiles | 컴파일러가 유니코드 지시 파일을 사용하는지 여부를 지정합니다. | |
VCProjectEngine | 프로젝트 엔진에 대한 포인터를 가져옵니다. | |
WarnAsError | 모든 경고를 오류로 처리 하도록 컴파일러를 사용할지 여부를 나타내는 값을 가져오거나 설정 합니다.WarnAsError C++ 컴파일러의 기능을 노출 /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won(경고 수준) 옵션 및 MIDL 컴파일러의 MIDL 속성 페이지: 일반 옵션입니다. | |
WarningLevel | 컴파일러가 재고할 구문의 확인 하는 방법을 엄격 하 게 나타내는 값을 가져오거나 설정 합니다.WarningLevel C++ 컴파일러의 기능을 노출 /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won(경고 수준) 옵션 및 MIDL 컴파일러의 /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won(경고 수준) 옵션입니다. | |
WholeProgramOptimization | 코드 생성을 링크 타임으로 지연시켜 크로스 모듈 최적화를 사용하도록 설정할지 여부를 나타내는 값을 가져오거나 설정합니다.WholeProgramOptimization 은 컴파일러의 /GL(전체 프로그램 최적화) 옵션 기능을 노출합니다. | |
XMLDocumentationFileName | XML 설명서 파일 이름을 가져오거나 설정합니다. |
위쪽
메서드
이름 | 설명 | |
---|---|---|
get_PropertyOption | 인프라입니다. Microsoft 내부용입니다. |
위쪽
설명
새 컴파일러 옵션 다음에 추가 된 Visual Studio 2005:
다음 컴파일러 옵션을 제거 된 Visual Studio 2005:
/Op
/ G 6, /G7 및 /GB
예제
다음 예제에서는 EnablePREfast 및 AdditionalOptions 속성을 설정 하는 /analyze:WX- 전환 합니다.(두 속성을 모두이 작업을 수행 해야 합니다.) 지정 /analyze:WX- 코드 분석 경고 의미 없습니다 간주 됩니다 오류 표시로 컴파일하는 경우 /WX.자세한 내용은 /analyze(코드 분석)를 참조하십시오.
이 예제를 실행 하 고 입력 한이 예제에 설명 된 대로 실행 합니다. 방법: 자동화 개체 모델 코드의 예제 컴파일 및 실행.다음 새 인스턴스를 Visual Studio, 로드는 Visual C++ 프로젝트와 추가 기능 관리자를 사용 하 여 추가 기능을 활성화 합니다.
' Add reference to Microsoft.VisualStudio.VCProjectEngine.
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Imports Microsoft.VisualStudio.VCProjectEngine
Imports System.Text
Sub EnablePREfastExample(ByVal dte As DTE2)
Dim prj As VCProject
Dim cfgs, tools As IVCCollection
Dim cfg As VCConfiguration
Dim tool As VCCLCompilerTool
Dim sb As New StringBuilder
prj = CType(dte.Solution.Projects.Item(1).Object, _
Microsoft.VisualStudio.VCProjectEngine.VCProject)
cfgs = CType(prj.Configurations, _
Microsoft.VisualStudio.VCProjectEngine.IVCCollection)
cfg = CType(cfgs.Item(1), _
Microsoft.VisualStudio.VCProjectEngine.VCConfiguration)
tool = CType(cfg.Tools("VCCLCompilerTool"), _
Microsoft.VisualStudio.VCProjectEngine.VCCLCompilerTool)
sb.Length = 0
sb.Append("Current project PREfast setting: " _
& tool.EnablePREfast & Environment.NewLine)
sb.Append("Flag: " & tool.AdditionalOptions)
MsgBox(sb.ToString)
' Toggle PREfast setting.
If Not (tool.EnablePREfast = True) Then
' PREfast is not enabled. Turn it and the WX- flag on.
tool.EnablePREfast = True
tool.AdditionalOptions = "/analyze:WX-"
Else
' Toggle the opposite.
tool.EnablePREfast = False
tool.AdditionalOptions = "/analyze:WX"
End If
sb.Length = 0
sb.Append("New project PREfast setting: " _
& tool.EnablePREfast & Environment.NewLine)
sb.Append("Flag: " & tool.AdditionalOptions)
MsgBox(sb.ToString)
End Sub
// Add references to Microsoft.VisualStudio.VCProjectEngine and
// System.Windows.Forms.
using System;
using Extensibility;
using EnvDTE;
using EnvDTE80;
using Microsoft.VisualStudio.VCProjectEngine;
using System.Text;
using System.Windows.Forms;
public void EnablePREfastExample(DTE2 dte)
{
try
{
VCProject prj;
IVCCollection cfgs, tools;
VCConfiguration cfg;
VCCLCompilerTool tool;
StringBuilder sb = new StringBuilder();
prj = (Microsoft.VisualStudio.VCProjectEngine.VCProject)
dte.Solution.Projects.Item(1).Object;
cfgs =
(Microsoft.VisualStudio.VCProjectEngine.IVCCollection)
prj.Configurations;
cfg =
(Microsoft.VisualStudio.VCProjectEngine.VCConfiguration)
cfgs.Item(1);
tools =
(Microsoft.VisualStudio.VCProjectEngine.IVCCollection)
cfg.Tools;
tool =
(Microsoft.VisualStudio.VCProjectEngine.VCCLCompilerTool)
tools.Item("VCCLCompilerTool");
sb.Length = 0;
sb.Append("Current project PREfast setting: " +
tool.EnablePREfast + Environment.NewLine);
sb.Append("Flag: " + tool.AdditionalOptions);
MessageBox.Show(sb.ToString());
// Toggle PREfast setting.
if (!(tool.EnablePREfast == true))
{
// PREfast is not enabled. Turn it and the WX- flag on.
tool.EnablePREfast = true;
tool.AdditionalOptions = "/analyze:WX-";
}
else
{
// Toggle the opposite.
tool.EnablePREfast = false;
tool.AdditionalOptions = "/analyze:WX";
}
sb.Length = 0;
sb.Append("New project PREfast setting: " +
tool.EnablePREfast + Environment.NewLine);
sb.Append("Flag: " + tool.AdditionalOptions);
MessageBox.Show(sb.ToString());
}
catch (System.Exception errmsg)
{
MessageBox.Show("ERROR! " + errmsg.Message);
}
}
참고 항목
참조
Microsoft.VisualStudio.VCProjectEngine 네임스페이스