VCCLCompilerTool インターフェイス
VCCLCompilerTool オブジェクトは、C++ コンパイラ オプションの機能を公開します。 コンパイラ オプションの詳細については、「コンパイラ オプション」を参照してください。
名前空間: Microsoft.VisualStudio.VCProjectEngine
アセンブリ: Microsoft.VisualStudio.VCProjectEngine (Microsoft.VisualStudio.VCProjectEngine.dll 内)
構文
'宣言
<GuidAttribute("F6DEA060-B8B5-48BC-8986-AC2BB5E4788C")> _
Public Interface VCCLCompilerTool
[GuidAttribute("F6DEA060-B8B5-48BC-8986-AC2BB5E4788C")]
public interface VCCLCompilerTool
[GuidAttribute(L"F6DEA060-B8B5-48BC-8986-AC2BB5E4788C")]
public interface class VCCLCompilerTool
[<GuidAttribute("F6DEA060-B8B5-48BC-8986-AC2BB5E4788C")>]
type VCCLCompilerTool = interface end
public interface VCCLCompilerTool
VCCLCompilerTool 型で公開されるメンバーは以下のとおりです。
プロパティ
名前 | 説明 | |
---|---|---|
AdditionalIncludeDirectories | インクルード パスに追加する 1 つ以上のディレクトリを取得または設定します。AdditionalIncludeDirectories は、コンパイラの /I (追加インクルード ディレクトリ) オプション、MIDL コンパイラの [全般] ([MIDL] プロパティ ページ) オプション、およびリソース コンパイラの [リソース] プロパティ ページ オプションの機能を公開します。 | |
AdditionalOptions | コマンド ラインの末尾、ファイル名の直前に追加するオプションを取得または設定します。たとえば、あるオプションがオブジェクト モデルでサポートされない場合に指定します。 | |
AdditionalUsingDirectories | #using Directive (C/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 (既定の char 型の unsigned への変更) オプションの機能を公開します。 | |
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 | スローされた例外によって発生したスタックのアンワインドで、自動オブジェクトのデストラクターを呼び出すときに使用する値を取得または設定します。ExceptionHandling は、コンパイラの /EH (例外処理モデル) オプションの機能を公開します。 | |
ExecutionBucket | インフラストラクチャ。 マイクロソフト内部でのみ使用します。 | |
ExpandAttributedSource | ソース ファイルに拡張された属性を挿入して、リスティング ファイルを作成するかどうかを示す値を取得または設定します。ExpandAttributedSource は、コンパイラの /Fx (挿入されたコードのマージ) オプションの機能を公開します。 | |
FavorSizeOrSpeed | コード サイズとコード速度のどちらを優先するかを示す値を取得または設定します。FavorSizeOrSpeed は、コンパイラの /Os、/Ot (実行可能ファイルのサイズの優先、実行速度の優先) オプションの機能を公開します。 | |
FloatingPointExceptions | ユーザー定義の浮動小数点の例外処理を有効にするかどうかを設定または取得します。 | |
floatingPointModel | 浮動小数点モデルを設定または取得します。 | |
ForceConformanceInForLoopScope | For ループで、強制的にコンパイラをローカル スコープに準拠させるかどうかを示す値を取得または設定します。ForceConformanceInForLoopScope は、コンパイラの /Zc:forScope (for ループのスコープの強制準拠) オプションの機能を公開します。 | |
ForcedIncludeFiles | 1 つ以上の強制インクルード ファイルを指定する値を取得または設定します。ForcedIncludeFiles は、コンパイラの /FI (強制インクルード ファイルの名前の指定) オプションの機能を公開します。 | |
ForcedUsingFiles | #using Directive (C/C++) ディレクティブに渡された場合と同じ方法でファイル名の使用を強制します。ForcedUsingFiles は、コンパイラの /FU (強制 #using ファイルの名前の指定) オプションの機能を公開します。 | |
FullIncludePath | ビルドに含まれるすべてのディレクトリ、/l で指定されたディレクトリの連結、および [[VC++ ディレクトリ] ([オプション] ダイアログ ボックス - [プロジェクトおよびソリューション])] ダイアログ ボックスで指定したディレクトリのリストを取得します。これらのディレクトリ内にあるマクロも評価されます。 | |
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 | フレーム ポインターを非表示にするかどうかを示す値を取得または設定します。OmitFramePointers は、コンパイラの /Oy (フレーム ポインターの省略) オプションの機能を公開します。 | |
OpenMP | OpenMP を有効にするかどうかを取得または設定します。 | |
Optimization | コード最適化のオプションを取得または設定します。Optimization は、コンパイラの /Od (無効 (デバッグ))、/O1、/O2 (プログラム サイズ、実行速度) および /Ox (最大限の最適化) オプションの機能を公開します。 | |
PrecompiledHeaderFile | 生成するプリコンパイル済みヘッダー ファイルのパスと名前の両方またはいずれかを取得または設定します。PrecompiledHeaderFile は、コンパイラの /Fp (.pch ファイルの名前の指定) オプションの機能を公開します。 | |
PrecompiledHeaderThrough | プリコンパイル済みヘッダー ファイルの作成時または使用時に用いるヘッダー ファイル名を取得または設定します。PrecompiledHeaderThrough は、コンパイラの /Yc (プリコンパイル済みヘッダー ファイルの作成) および /Yu (プリコンパイル済みヘッダー ファイルの使用) オプションの機能を公開します。 | |
PreprocessorDefinitions | 1 つ以上のプリプロセッサ定義を取得または設定します。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 | 1 つ以上のプリプロセッサを未定義に指定する値を取得または設定します。UndefinePreprocessorDefinitions は、C++ コンパイラの /U、/u (定義済みマクロ シンボルの未定義化) オプションおよび MIDL コンパイラの [詳細] ([MIDL] プロパティ ページ) オプションの機能を公開します。 | |
UseFullPaths | 完全パスを使用するかどうかを取得または設定します。 | |
UsePrecompiledHeader | ビルド時にプリコンパイル済みヘッダーの作成または使用を有効にする値を取得または設定します。UsePrecompiledHeader は、コンパイラの /Yc (プリコンパイル済みヘッダー ファイルの作成) および /Yu (プリコンパイル済みヘッダー ファイルの使用) オプションの機能を公開します。 | |
UseUnicodeResponseFiles | コンパイラが Unicode 応答ファイルを使用しているかどうかを指定します。 | |
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 | インフラストラクチャ。 マイクロソフト内部でのみ使用します。 |
このページのトップへ
解説
次の新しいコンパイラ オプションが Visual Studio 2005 に追加されました。
次のコンパイラ オプションが Visual Studio 2005 で削除されました。
/Op
/G6、/G7、および /GB
例
EnablePREfast プロパティおよび AdditionalOptions プロパティを使用して /analyze:WX- スイッチを設定する方法を次の例に示します。 いずれのプロパティも、これを行う必要があります。/analyze:WX- を指定することは、コード分析警告が /WX を指定したコンパイルではエラーとして扱われないことを意味します。 詳細については、「/analyze (Enterprise コード分析)」を参照してください。
この例を実行するには、「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」の説明に従ってコードを入力し、実行します。 次に、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 名前空間