Export (0) Print
Expand All

VCCLCompilerTool Interface

The VCCLCompilerTool object exposes the functionality of the C++ compiler options. See Compiler Options for more information about compiler options.

Namespace:  Microsoft.VisualStudio.VCProjectEngine
Assembly:  Microsoft.VisualStudio.VCProjectEngine (in Microsoft.VisualStudio.VCProjectEngine.dll)

[GuidAttribute(L"3D6193F2-8B5D-4B0A-967F-7D163D918848")]
public interface class VCCLCompilerTool

The VCCLCompilerTool type exposes the following members.

  NameDescription
Public propertyAdditionalIncludeDirectoriesGets or sets one or more directories to add to the include path. AdditionalIncludeDirectories exposes the functionality of the compiler's /I (Additional Include Directories) option, the MIDL compiler's MIDL Property Pages: General option, and the Resource Compiler's Resources Property Pages option.
Public propertyAdditionalOptionsGets or sets options to add to the end of the command line immediately before the file name(s). An example is if an option is not supported in the object model.
Public propertyAdditionalUsingDirectoriesGets or sets a directory to search to resolve file references passed to the #using Directive (C++) directive. AdditionalUsingDirectories exposes the functionality of the compiler's /AI (Specify Metadata Directories) option.
Public propertyAssemblerListingLocationGets or sets the relative path and/or name for an ASM listing file. AssemblerListingLocation exposes the functionality of the compiler's /Fa option.
Public propertyAssemblerOutputGets or sets the contents of assembly language output file. AssemblerOutput exposes the functionality of the compiler's /FA, /Fa (Listing File) options.
Public propertyBasicRuntimeChecksGets or sets a value to indicate whether to perform full run-time error checks /RTC (Run-Time Error Checks)), check stack frame validity at run time (/RTC (Run-Time Error Checks)), and check for uninitialized variables at run time (/RTC (Run-Time Error Checks)).
Public propertyBrowseInformationSpecifies the level of browse information in the .bsc file. BrowseInformation exposes the functionality of the compiler's /FR, /Fr (Create .Sbr File) options.
Public propertyBrowseInformationFileGets or sets the optional name for browser information file. BrowseInformationFile exposes the functionality of the compiler's /FR, /Fr (Create .Sbr File) options.
Public propertyBufferSecurityCheckGets or sets a value indicating whether to check for buffer overruns. BufferSecurityCheck exposes the functionality of the compiler's /GS (Buffer Security Check) option.
Public propertyCallingConventionGets or sets the default calling convention for your application. CallingConvention exposes the functionality of the compiler's /Gd, /Gr, /Gv, /Gz (Calling Convention) options.
Public propertyCompileAsSelects compile language option for .c and .cpp files. CompileAs exposes the functionality of the compiler's /Tc, /Tp, /TC, /TP (Specify Source File Type) options.
Public propertyCompileAsManagedGets or sets a value indicating compiler options.
Public propertyCompileOnlyGets or sets a value indicating whether to compile without linking.
Public propertyDebugInformationFormatGets or sets the type of debugging information generated by the compiler. DebugInformationFormat exposes the functionality of the compiler's /Z7, /Zi, /ZI (Debug Information Format) options.
Public propertyDefaultCharIsUnsignedGets or sets the default char type to unsigned. DefaultCharIsUnsigned exposes the functionality of the compiler's /J (Default char Type Is unsigned) option.
Public propertyDetect64BitPortabilityProblemsGets or sets a value indicating whether the compiler will check for 64-bit portability issues. Detect64BitPortabilityProblems exposes the functionality of the compiler's /Wp64 (Detect 64-Bit Portability Issues) option.
Public propertyDisableLanguageExtensionsGets or sets a value indicating whether to suppress language extensions. DisableLanguageExtensions exposes the functionality of the compiler's /Za, /Ze (Disable Language Extensions) option.
Public propertyDisableSpecificWarningsGets or sets a value that disables the desired warning numbers; puts numbers in a semicolon delimited list. DisableSpecificWarnings exposes the functionality of the compiler's /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Warning Level) option.
Public propertyEnableEnhancedInstructionSetGets or sets a value that enables the use of instructions found on processors that support enhanced instruction sets, such as the SSE and SSE2 enhancements to the IA-32. EnableEnhancedInstructionSet exposes the functionality of the compiler's /ARCH option.
Public propertyEnableFiberSafeOptimizationsGets or sets a value that enables memory space optimization when using fibers and thread local storage access. EnableFiberSafeOptimizations exposes the functionality of the compiler's /GT (Support Fiber-Safe Thread-Local Storage) option.
Public propertyEnableFunctionLevelLinkingGets or sets a value that enables function-level linking. EnableFunctionLevelLinking exposes the functionality of the compiler's /Gy (Enable Function-Level Linking) option.
Public propertyEnableIntrinsicFunctionsGets or sets a value indicating whether to use intrinsic functions to generate faster, but possibly larger, code. EnableIntrinsicFunctions exposes the functionality of the compiler's /Oi (Generate Intrinsic Functions) option.
Public propertyEnablePREfastGets or sets whether Native Code Analysis is enabled.
Public propertyErrorReportingGets or sets compiler error reporting.
Public propertyExceptionHandlingGets or sets a value used for calls to destructors for automatic objects during a stack unwind caused by a thrown exception. ExceptionHandling exposes the functionality of the compiler's /EH (Exception Handling Model) option.
Public propertyExecutionBucketInfrastructure. Microsoft Internal Use Only.
Public propertyExpandAttributedSourceGets or sets a value indicating whether to create a listing file with expanded attributes injected into source file. ExpandAttributedSource exposes the functionality of the compiler's /Fx (Merge Injected Code) option.
Public propertyFavorSizeOrSpeedGets or sets a value indicating whether to favor code size or code speed. FavorSizeOrSpeed exposes the functionality of the compiler's /Os, /Ot (Favor Small Code, Favor Fast Code) options.
Public propertyFloatingPointExceptionsSets or gets whether user defined floating point exception handling is enabled.
Public propertyfloatingPointModelSets or gets the floating point model.
Public propertyForceConformanceInForLoopScopeGets or sets a value indicating whether to force the compiler to conform to the local scope in a For loop. ForceConformanceInForLoopScope exposes the functionality of the compiler's /Zc:forScope (Force Conformance in for Loop Scope) option.
Public propertyForcedIncludeFilesGets or sets a value that specifies one or more forced include files. ForcedIncludeFiles exposes the functionality of the compiler's /FI (Name Forced Include File) option.
Public propertyForcedUsingFilesForces the use of a file name as if it had been passed to the #using Directive (C++) directive. ForcedUsingFiles exposes the functionality of the compiler's /FU (Name Forced #using File) option.
Public propertyFullIncludePathGets a list of all directories included in the build; a concatenation of directories specified with /I and the directories specified in the VC++ Directories dialog box. Macros present in these directories will be evaluated as well.
Public propertyGeneratePreprocessedFileGets or set the preprocessing option for this configuration. GeneratePreprocessedFile exposes the functionality of the compiler's /EP (Preprocess to stdout Without #line Directives) and /P (Preprocess to a File) options.
Public propertyGenerateXMLDocumentationFilesSets or gets whether to generate XML documentation files.
Public propertyIgnoreStandardIncludePathGets or sets a value that indicates whether to ignore the standard include path. IgnoreStandardIncludePath exposes the functionality of the compiler's /X (Ignore Standard Include Paths) option, the MIDL compiler's MIDL Property Pages: General option, and the Resource Compiler's Resources Property Pages option.
Public propertyInlineFunctionExpansionGets or sets the level of inline function expansion for the build. InlineFunctionExpansion exposes the functionality of the compiler's /Ob (Inline Function Expansion) options.
Public propertyKeepCommentsGets or sets a value indicating whether to suppress a comment strip from source code. KeepComments exposes the functionality of the compiler's /C (Preserve Comments During Preprocessing) option.
Public propertyMinimalRebuildGets or sets a value indicting whether to detect changes to C++ class definitions and recompile affected source files. MinimalRebuild exposes the functionality of the compiler's /Gm (Enable Minimal Rebuild) option.
Public propertyObjectFileGets or sets a name to override the default object file name. ObjectFile exposes the functionality of the compiler's /Fo (Object File Name) option.
Public propertyOmitDefaultLibNameGets or sets whether the default library name is omitted.
Public propertyOmitFramePointersGets or sets a value indicating whether to suppress framepointers. OmitFramePointers exposes the functionality of the compiler's /Oy (Frame-Pointer Omission) option.
Public propertyOpenMPGets or set whether OpenMP is enabled.
Public propertyOptimizationGets or sets options for code optimization. Optimization exposes the functionality of the compiler's /Od (Disable (Debug)), /O1, /O2 (Minimize Size, Maximize Speed), and /Ox (Full Optimization) options.
Public propertyPrecompiledHeaderFileGets or sets the path and/or name of the generated precompiled header file. PrecompiledHeaderFile exposes the functionality of the compiler's /Fp (Name .Pch File) option.
Public propertyPrecompiledHeaderThroughGets or sets the header file name to use when creating or using a precompiled header file. PrecompiledHeaderThrough exposes the functionality of the compiler's /Yc (Create Precompiled Header File), and /Yu (Use Precompiled Header File) options.
Public propertyPreprocessorDefinitionsGets or sets one or more preprocessor defines. PreprocessorDefinitions exposes the functionality of the compiler's /D (Preprocessor Definitions) option, the MIDL compiler's MIDL Property Pages: General option, and the Resource Compiler's Resources Property Pages option.
Public propertyProgramDataBaseFileNameGets or sets a name for a compiler-generated .pdb file and a base name for the required compiler-generated .idb file. ProgramDataBaseFileName exposes the functionality of the compiler's /Fd (Program Database File Name) option.
Public propertyRuntimeLibraryGets or sets the run-time library for linking. RuntimeLibrary exposes the functionality of the compiler's /MD, /MT, /LD (Use Run-Time Library) options.
Public propertyRuntimeTypeInfoGets or sets a value indicating whether to add code for checking C++ object types at run time (run-time type information). RuntimeTypeInfo exposes the functionality of the compiler's /GR (Enable Run-Time Type Information) option.
Public propertyShowIncludesGets or sets a value indicating whether to generate a list of include files with compiler output. ShowIncludes exposes the functionality of the compiler's /showIncludes (List Include Files) option.
Public propertySmallerTypeCheckGets or sets a value indicating whether to enable checking for conversion to smaller types. SmallerTypeCheck exposes the functionality of the compiler's /RTC (Run-Time Error Checks) option.
Public propertyStringPoolingGets or sets a value indicating whether to enable read-only string pooling for generating smaller compiled code. StringPooling exposes the functionality of the compiler's /GF (Eliminate Duplicate Strings) option.
Public propertyStructMemberAlignmentSpecifies 1-, 2-, 4-, 8-, or 16-byte boundaries for struct member alignment. StructMemberAlignment exposes the functionality of the C++ compiler's /Zp (Struct Member Alignment) option and the MIDL compiler's MIDL Property Pages: Advanced option.
Public propertySuppressStartupBannerSuppresses the display of the startup banner and information messages.
Public propertyToolKindGets the name of the kind of tool.
Public propertytoolNameGets the name of the specified tool.
Public propertyToolPathGets the path to the specified tool.
Public propertyTreatWChar_tAsBuiltInTypeGets or sets a value indicating whether to treat wchar_t as a built-in type. TreatWChar_tAsBuiltInType exposes the functionality of the compiler's /Zc:wchar_t (wchar_t Is Native Type) option.
Public propertyUndefineAllPreprocessorDefinitionsGets or sets a value indicating whether to undefine all previously defined preprocessor values. UndefineAllPreprocessorDefinitions exposes the functionality of the compiler's /U, /u (Undefine Symbols) option.
Public propertyUndefinePreprocessorDefinitionsGets or sets a value that specifies one or more preprocessor undefines. UndefinePreprocessorDefinitions exposes the functionality of the C++ compiler's /U, /u (Undefine Symbols) option and the MIDL compiler's MIDL Property Pages: Advanced option.
Public propertyUseFullPathsGets or sets whether to use full paths.
Public propertyUsePrecompiledHeaderGets or sets a value that enables the creation or use of a precompiled header during the build. UsePrecompiledHeader exposes the functionality of the compiler's /Yc (Create Precompiled Header File) and /Yu (Use Precompiled Header File) options.
Public propertyUseUnicodeResponseFilesDesignates whether the complier uses Unicode response files, or not.
Public propertyVCProjectEngineGets a pointer to the project engine.
Public propertyWarnAsErrorGets or sets a value indicating whether to enable the compiler to treat all warnings as errors. WarnAsError exposes the functionality of the C++ compiler's /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Warning Level) option and the MIDL compiler's MIDL Property Pages: General option.
Public propertyWarningLevelGets or sets a value that represents how strictly the compiler checks for potentially suspect constructs. WarningLevel exposes the functionality of the C++ compiler's /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Warning Level) option and the MIDL compiler's /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Warning Level) option.
Public propertyWholeProgramOptimizationGets or sets a value indicating whether to enable cross-module optimizations by delaying code generation to link time. WholeProgramOptimization exposes the functionality of the compiler's /GL (Whole Program Optimization) option.
Public propertyXMLDocumentationFileNameGets or sets the XML documentation file name.
Top

  NameDescription
Public methodget_PropertyOptionInfrastructure. Microsoft Internal Use Only.
Top

The following example demonstrates how to use the EnablePREfast and AdditionalOptions properties to set the /analyze:WX- switch. (Both properties are required to do this.) Specifying /analyze:WX- means that code analysis warnings will not be treated as errors when compiling with /WX. For more information, see /analyze (Code Analysis).

To run this example, enter and run this example as outlined in How to: Compile and Run the Automation Object Model Code Examples. Then, in the new instance of Visual Studio, load a Visual C++ project and use the Add-in Manager to activate the add-in.

No code example is currently available or this language may not be supported.
Show:
© 2014 Microsoft