/Zg (產生函式原型)

更新:2007 年 11 月

會對原始程式檔中定義的每一個函式建立函式原型 (Prototype),但是不會編譯原始程式檔。

/Zg

備註

函式原型包括函式傳回型別和引數型別清單。引數型別清單是從函式型式參數的型別建立的。已經在原始程式檔中的任何函式原型都會被忽略。

原型清單會被寫至標準輸出。您可能會發現這個清單對於驗證函式的實際引數與型式參數是否相容很有用處。您可以將標準輸出重新導向至檔案藉以儲存這個清單。然後,您可以使用 #include,讓函式原型清單成為原始程式檔的一部分。這樣做會使編譯器執行引數型別檢查。

如果您使用 /Zg 選項,而且您的程式含有具有 struct、enum 或 union 型別 (或這些型別指標) 的型式參數,則每一個 struct、enum 或 union 型別的宣告都必須有標記 (名稱)。在下列範例中,標記名稱是 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-style 程式碼。如需詳細資訊,請參閱Visual C++ 2005 中已被取代的編譯器選項

若要在 Visual Studio 開發環境中設定這個編譯器選項

  1. 開啟專案的 [屬性頁] 對話方塊。如需詳細資訊,請參閱 HOW TO:開啟專案屬性頁

  2. 按一下 [C/C++] 資料夾。

  3. 按一下 [命令列] 屬性頁。

  4. 在 [其他選項] 方塊中,輸入編譯器選項。

若要若要以程式方式設定這個編譯器選項

請參閱

參考

編譯器選項

設定編譯器選項