VCCLCompilerTool 인터페이스
VCCLCompilerTool 개체는 C++ 컴파일러 옵션의 기능을 노출합니다. 컴파일러 옵션에 대한 자세한 내용은 컴파일러 옵션을 참조하십시오.
네임스페이스: Microsoft.VisualStudio.VCProjectEngine
어셈블리: Microsoft.VisualStudio.VCProjectEngine(Microsoft.VisualStudio.VCProjectEngine.dll)
구문
‘선언
<GuidAttribute("3D6193F2-8B5D-4B0A-967F-7D163D918848")> _
Public Interface VCCLCompilerTool
[GuidAttribute("3D6193F2-8B5D-4B0A-967F-7D163D918848")]
public interface VCCLCompilerTool
[GuidAttribute(L"3D6193F2-8B5D-4B0A-967F-7D163D918848")]
public interface class VCCLCompilerTool
[<GuidAttribute("3D6193F2-8B5D-4B0A-967F-7D163D918848")>]
type VCCLCompilerTool = interface end
public interface VCCLCompilerTool
VCCLCompilerTool 형식에서는 다음과 같은 멤버를 노출합니다.
속성
이름 | 설명 | |
---|---|---|
AdditionalIncludeDirectories | 포함 경로에 추가할 하나 이상의 디렉터리를 가져오거나 설정합니다.AdditionalIncludeDirectories에서 컴파일러의 /I(추가 포함 디렉터리) 옵션, MIDL 컴파일러의 MIDL 속성 페이지: 일반 옵션 및 리소스 컴파일러의 리소스 속성 페이지 옵션에 대한 기능을 노출합니다. | |
AdditionalOptions | 명령줄의 끝, 파일 이름 바로 앞에 추가할 옵션을 가져오거나 설정합니다.예를 들어 개체 모델에서 옵션이 지원되지 않는 경우가 여기에 해당합니다. | |
AdditionalUsingDirectories | #using 지시문 (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, /Gv, /Gz(호출 규칙) 옵션 기능을 노출합니다. | |
CompileAs | .c 및 .cpp 파일에 대한 컴파일 언어 옵션을 선택합니다.CompileAs는 컴파일러의 /Tc, /Tp, /TC, /TP(소스 파일 형식 지정) 옵션 기능을 노출합니다. | |
CompileAsManaged | 컴파일러 옵션을 나타내는 값을 가져오거나 설정합니다. | |
CompileOnly | 연결하지 않고 컴파일할지 여부를 나타내는 값을 가져오거나 설정합니다. | |
DebugInformationFormat | 컴파일러에서 생성하는 디버깅 정보의 형식을 가져오거나 설정합니다.DebugInformationFormat은 컴파일러의 /Z7, /Zi, /ZI(디버깅 정보 형식) 옵션 기능을 노출합니다. | |
DefaultCharIsUnsigned | 기본 문자 형식을 가져오거나 unsigned로 설정합니다.DefaultCharIsUnsigned은 컴파일러의 /J(부호 없는 기본 문자 형식) 옵션 기능을 노출합니다. | |
Detect64BitPortabilityProblems | 컴파일러에서 64비트 이식성 문제를 확인할 것인지 여부를 나타내는 값을 가져오거나 설정 합니다.Detect64BitPortabilityProblems은 컴파일러의 /Wp64(64비트 이식성 문제 검색) 옵션 기능을 노출합니다. | |
DisableLanguageExtensions | 언어 확장을 표시하지 않을지 여부를 나타내는 값을 가져오거나 설정합니다.DisableLanguageExtensions은 컴파일러의 /Za, /Ze(언어 확장 사용 안 함) 옵션 기능을 노출합니다. | |
DisableSpecificWarnings | 원하는 경고 번호를 사용하지 않도록 설정하는 값을 가져오거나 설정합니다. 세미콜론으로 구분된 목록에 번호를 입력합니다.DisableSpecificWarnings은 컴파일러의 /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won(경고 수준) 옵션 기능을 노출합니다. | |
EnableEnhancedInstructionSet | IA-32에 대한 SSE 및 SSE2 명령의 고급 기능과 같은 고급 명령 집합을 지원하는 프로세서의 명령을 사용하도록 설정하는 값을 가져오거나 설정합니다.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 | 파일 이름이 #using 지시문 (C++) 지시문에 전달된 것처럼 사용되도록 합니다.ForcedUsingFiles은 컴파일러의 /FU(강제 #using 파일 이름 지정) 옵션 기능을 노출합니다. | |
FullIncludePath | 빌드에 포함된 모든 디렉터리의 목록을 가져옵니다. /I로 지정된 디렉터리와 VC++ Directories 대화 상자에서 지정된 디렉터리를 연결합니다.이러한 디렉터리에 있는 매크로도 평가됩니다. | |
GeneratePreprocessedFile | 이 구성에 대한 전처리 옵션을 가져오거나 설정합니다.GeneratePreprocessedFile은 C++ 컴파일러의 /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 | 프레임 포인터를 표시하지 않을지 여부를 나타내는 값을 가져오거나 설정합니다.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는 C++ 컴파일러의 /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 네임스페이스