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 編譯程式,這是快速的記憶體錯誤偵測器,可找出運行時間記憶體問題,例如無用後使用,以及執行超出界限檢查。 |
最佳化
屬性 | 說明 | Choices |
---|---|---|
最佳化 | 指定應用程式的最佳化層級。 | 自訂 - 自訂最佳化。 停用 - 停用最佳化。 最小化程式碼 - 大小最佳化。 最快速度 - 速度最佳化。 完整最佳化 - 最費時的最佳化。 |
嚴格的別名 | 採用最嚴格的別名規則。 一律不會將某種類型物件與不同類型的物件視為具有相同位址。 | |
展開迴圈 | 展開迴圈,以較大程式碼大小來換取較少執行分支數的方式以加快應用程式速度。 | |
連結時間最佳化 | 啟用程序間最佳化,方式是允許最佳化工具跨應用程式中的物件檔進行搜尋。 | |
省略框架指標 | 在呼叫堆疊上隱藏框架指標的建立。 | |
禁止通用區塊 | 在物件檔的資料區段配置平均未初始化全域變數,而非將其產生為通用區塊。 |
前置處理器
屬性 | 說明 |
---|---|
前置處理器定義 | 定義原始程式檔的前置處理符號。 (-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 語言標準。 | Default C89 - C89 語言標準。 C99 - C99 語言標準。 C11 - C11 語言標準。 C99 (GNU 方言) - C99 (GNU 方言) 語言標準。 C11 (GNU 方言) - C11 (GNU 方言) 語言標準。 |
C + + 語言標準 | 決定 C++ 語言標準。 | Default 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]) |