/Zg (関数プロトタイプの生成)
更新 : 2007 年 11 月
ソース ファイルで定義されている各関数に対して関数プロトタイプを生成します。ただし、ソース ファイルはコンパイルしません。
/Zg
解説
関数プロトタイプは、関数の戻り値の型と引数型リストから構成されます。引数型リストは、関数の仮パラメータの型から生成されます。ソース ファイルにある既存の関数プロトタイプは無視されます。
生成されたプロトタイプのリストは、標準出力デバイスに出力されます。このリストは、関数の実引数と仮パラメータが一致するかどうかをチェックするときに有用です。このリストを保存するには、出力を標準出力デバイスからファイルにリダイレクトします。ファイルに保存した関数プロトタイプ リストは、#include ディレクティブでソース ファイルにインクルードできます。これにより、コンパイル時に自動的に引数の型をチェックできます。
構造体型、列挙型、共用体型、またはこれらの型を指すポインタの仮パラメータが含まれているプログラムに対して /Zg オプションを指定するには、構造体型、列挙型、共用体型のそれぞれの宣言にタグ (名前) を設定しておく必要があります。次の例で使用しているタグ名は MyStruct です。
// Zg_compiler_option.c
// compile with: /Zg
typedef struct MyStruct { int i; } T2;
void f2(T2 * t) {}
Visual C++ 2005 では /Zg の使用は推奨されていません。Visual C++ コンパイラでは、旧形式の C スタイルのコードのサポートを終了する予定です。詳細については、「Visual C++ 2005 で使用を推奨されていないコンパイラ オプション」を参照してください。
Visual Studio 開発環境でこのコンパイラ オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。詳細については、「方法 : プロジェクト プロパティ ページを開く」を参照してください。
[C/C++] フォルダをクリックします。
[コマンド ライン] プロパティ ページをクリックします。
[追加のオプション]ボックスにコンパイラ オプションを入力します。
このコンパイラ オプションをコードから設定するには
- AdditionalOptions を参照してください。