Share via


C/C++ 屬性 (Linux C++)

Visual Studio 2017 及更新版本支援 Linux。

一般

屬性 描述 Choices
其他 Include 目錄 指定一或多個要新增至 Include 路徑的目錄。 請使用分號來分隔多個目錄。 (-I[路徑])。
偵錯資訊格式 指定編譯器所產生的偵錯資訊類型。 - 因為不產生任何偵錯資訊,所以編譯速度會較快。
最少偵錯資訊 - 產生最少的偵錯資訊。
完整偵錯資訊 (DWARF2) - 產生 DWARF2 偵錯資訊。
物件檔案名稱 指定要覆寫預設物件檔名稱的名稱。 它可以是檔案或目錄的名稱。 (-o [名稱])。
警告層級 選取您希望編譯器針對程式碼錯誤所採用的嚴謹度等級。 請將其他旗標直接新增至 [其他選項]。 (/w, /Weverything)。 關閉所有警告 - 停用所有編譯器警告。
啟用所有警告 - 啟用所有警告,包括預設為停用的警告。
將警告視為錯誤 將所有編譯器警告視為錯誤。 如果是新專案,最好是在所有編譯中使用 /Werror。 請解決所有警告以確保可能難以找到程式碼缺失的狀況最少。
C 其他警告 定義一組其他警告訊息。
C + + 其他警告 定義一組其他警告訊息。
啟用詳細資訊模式 啟用詳細資訊模式時,會列印用來診斷組建的詳細資訊。
C 編譯器 指定在 C 來源檔案編譯期間要叫用的程式,或遠端系統上 C 編譯器的路徑。
C++ 編譯器 指定在 C++ 來源檔案編譯期間要叫用的程式,或遠端系統上 C++ 編譯器的路徑。
編譯逾時 遠端編譯逾時 (毫秒)。
複製物件檔 指定是否要從遠端系統將經過編譯的物件檔,複製到本機電腦上。
平行編譯作業上限 編譯期間要平行建立的進程數目。 預設值是 1。 如果您使用 Windows 子系統 Linux 版 (WSL) 第 1 版,則限制為 64。
驗證架構 指定是否要檢查項目的目標平臺是否符合遠端系統。
啟用位址清理程式 使用 Address Sanitizer 編譯器,這是快速的記憶體錯誤偵測器,可尋找執行時間記憶體問題,例如無使用後,並執行超出界限檢查。

Optimization

屬性 描述 Choices
Optimization 指定應用程式的最佳化層級。 自訂 - 自訂最佳化。
停用 - 停用最佳化。
最小化程式碼 - 大小最佳化。
最快速度 - 速度最佳化。
完整最佳化 - 最費時的最佳化。
嚴格的別名 採用最嚴格的別名規則。 一律不會將某種類型物件與不同類型的物件視為具有相同位址。
展開迴圈 展開迴圈,以較大程式碼大小來換取較少執行分支數的方式以加快應用程式速度。
連結時間最佳化 啟用程序間最佳化,方式是允許最佳化工具跨應用程式中的物件檔進行搜尋。
省略框架指標 在呼叫堆疊上隱藏框架指標的建立。
禁止通用區塊 在物件檔的資料區段配置平均未初始化全域變數,而非將其產生為通用區塊。

前置處理器

屬性 描述
前置處理器定義 定義原始程式檔的前置處理符號。 (-D)
取消前置處理器的定義 指定取消一或多個前置處理器的定義。 (-U [巨集])
取消所有前置處理器的定義 取消定義所有先前定義的前置處理器值。 (-undef)
顯示 Include 產生 Include 檔清單以及編譯器輸出。 (-H)

程式碼產生

屬性 描述 Choices
位置獨立程式碼 產生位置獨立程式碼 (PIC) 以用於共用程式庫。
靜態為安全執行緒 為區域靜態的執行緒安全初始化發出額外程式碼,以使用在 C++ ABI 中指定的常式。 - 停用執行緒安全靜態。
- 啟用執行緒安全靜態。
浮點數最佳化 放寬 IEEE-754 一致性,以啟用浮點優化。
內嵌方法隱藏 啟用時,內嵌方法的非正規複本會宣告為 private extern
預設隱藏的符號 除非使用 __attribute 巨集明確標示為匯出,否則所有符號都會宣告為 private extern
啟用 C++ 例外狀況 指定編譯器所使用的例外狀況處理模型。 - 停用例外狀況處理。
- 啟用例外狀況處理。

語言

屬性 描述 Choices
啟用執行階段類型資訊 新增在執行階段用於檢查 C++ 物件類型的程式碼 (執行階段類型資訊)。 (frtti、fno-rtti)
C 語言標準 決定 C 語言標準。 預設值
C89 - C89 語言標準。
C99 - C99 語言標準。
C11 - C11 語言標準。
C99 (GNU 方言) - C99 (GNU 方言) 語言標準。
C11 (GNU 方言) - C11 (GNU 方言) 語言標準。
C + + 語言標準 決定 C++ 語言標準。 預設值
C++03 - C++03 語言標準。
C++11 - C++11 語言標準。
C++14 - C++14 語言標準。
C++03 (GNU 方言) - C++03 (GNU 方言) 語言標準。
C++11 (GNU 方言) - C++11 (GNU 方言) 語言標準。
C++14 (GNU 方言) - C++14 (GNU 方言) 語言標準。

進階

屬性 描述 Choices
編譯為 選取 .c 和 .cpp 檔的編譯語言選項。 (-x c、-x c++) 預設 - 根據 .c 或 .cpp 副檔名進行偵測。
編譯為 C 程式碼 - 編譯為 C 程式碼。
編譯為 C++ 程式碼 - 編譯為 C++ 程式碼。
強制的 Include 檔案 指定一或多個強制 include 檔案, (包含 [name])