Właściwości języka C/C++ (Linux C++)
Obsługa systemu Linux jest dostępna w programie Visual Studio 2017 lub nowszym.
Ogólne
Właściwości | opis | Opcje wyboru |
---|---|---|
Dodatkowe katalogi dołączania | Określa co najmniej jeden katalog do dodania do ścieżki dołączania. Użyj średników, aby oddzielić wiele katalogów. (-I[ścieżka]). | |
Format informacji debugowania | Określa typ informacji debugowania generowanych przez kompilator. | Brak — nie generuje żadnych informacji debugowania, więc kompilacja może być szybsza. Minimalne informacje o debugowaniu — generuj minimalne informacje o debugowaniu. Pełne informacje o debugowaniu (DWARF2) — generowanie informacji debugowania DWARF2. |
Nazwa pliku obiektu | Określa nazwę, aby zastąpić domyślną nazwę pliku obiektu. Może to być nazwa pliku lub katalogu. (-o [name]). | |
Poziom ostrzeżenia | Wybiera, jak bardzo chcesz, aby kompilator był o błędach kodu. Dodaj inne flagi bezpośrednio do opcji dodatkowych. (/w, /Weverything). | Wyłącz wszystkie ostrzeżenia — wyłącza wszystkie ostrzeżenia kompilatora. EnableAllWarnings — włącza wszystkie ostrzeżenia, w tym te wyłączone domyślnie. |
Traktuj ostrzeżenia jako błędy | Traktuje wszystkie ostrzeżenia kompilatora jako błędy. W przypadku nowego projektu najlepszym rozwiązaniem może być użycie /Werror we wszystkich kompilacjach. Rozwiąż wszystkie ostrzeżenia, aby zapewnić najmniejsze możliwe wady kodu. | |
Dodatkowe ostrzeżenia języka C | Definiuje zestaw dodatkowych komunikatów ostrzegawczych. | |
Dodatkowe ostrzeżenia języka C++ | Definiuje zestaw dodatkowych komunikatów ostrzegawczych. | |
Włączanie trybu pełnej | Po włączeniu trybu pełnego wyświetla więcej informacji w celu zdiagnozowania kompilacji. | |
Kompilator języka C | Określa program do wywoływania podczas kompilacji plików źródłowych języka C lub ścieżki do kompilatora języka C w systemie zdalnym. | |
Kompilator C++ | Określa program do wywoływania podczas kompilacji plików źródłowych C++ lub ścieżki do kompilatora C++ w systemie zdalnym. | |
Limit czasu kompilacji | Limit czasu kompilacji zdalnej( w milisekundach). | |
Kopiowanie plików obiektów | Określa, czy skopiować skompilowane pliki obiektów z systemu zdalnego do komputera lokalnego. | |
Maksymalna liczba zadań kompilacji równoległej | Liczba procesów do utworzenia równolegle podczas kompilacji. Wartość domyślna to 1. Jeśli używasz Podsystem Windows dla systemu Linux (WSL) w wersji 1, limit wynosi 64. | |
Weryfikowanie architektury | Określ, czy platforma docelowa projektu jest zgodna z systemem zdalnym. | |
Włącz moduł sanitizer adresów | Skompiluj program za pomocą narzędzia Address Sanitizer, który jest szybkim detektorem błędów pamięci, który może znaleźć problemy z pamięcią środowiska uruchomieniowego, takie jak wolne od użycia, i wykonaj kontrole poza granicami. |
Optymalizacja
Właściwości | opis | Opcje wyboru |
---|---|---|
Optymalizacja | Określa poziom optymalizacji aplikacji. | Niestandardowe — optymalizacja niestandardowa. Wyłączone — wyłącz optymalizację. Minimalizuj rozmiar — optymalizuj pod kątem rozmiaru. Maksymalizuj szybkość — optymalizuj pod kątem szybkości. Pełna optymalizacja — kosztowne optymalizacje. |
Ścisłe aliasowanie | Zakłada najściślejsze reguły aliasowania. Obiekt jednego typu nigdy nie zakłada się, że ma ten sam adres co obiekt innego typu. | |
Pętle wyrejestrowywania | Pętle wyrejestrowywania w celu szybszego działania aplikacji dzięki zmniejszeniu liczby wykonanych gałęzi kosztem większego rozmiaru kodu. | |
Optymalizacja czasu połączenia | Umożliwia optymalizacje między proceduralne, umożliwiając optymalizatorowi przeglądanie między plikami obiektów w aplikacji. | |
Pomijanie wskaźnika ramki | Pomija tworzenie wskaźników ramek na stosie wywołań. | |
Brak typowych bloków | Przydziela nawet niezainicjowane zmienne globalne w sekcji danych pliku obiektu, zamiast generować je jako wspólne bloki. |
Preprocesor
Właściwości | opis |
---|---|
Definicje preprocesora | Definiuje symbole przetwarzania wstępnego dla pliku źródłowego. (-D) |
Niezdefiniuj definicje preprocesora | Określa co najmniej jedną niezdefiniowaną preprocesor. (-U [makro]) |
Niezdefiniuj wszystkie definicje preprocesora | Niezdefiniuje wszystkie wcześniej zdefiniowane wartości preprocesora. (-undef) |
Pokaż elementy dołączane | Generuje listę plików dołączanych z danymi wyjściowymi kompilatora. (-H) |
Generowanie kodu
Właściwości | opis | Opcje wyboru |
---|---|---|
Pozycja, niezależny kod | Generuje kod niezależny od pozycji () do użycia w bibliotece udostępnionej. | |
Statyczne są bezpieczne wątkami | Emituje dodatkowy kod do używania procedur określonych w języku C++ ABI na potrzeby inicjowania lokalnych statycznych statycznych bezpiecznych wątków. | Nie — wyłącz statyczne bezpieczne wątkowo. Tak — włącz statyczne bezpieczne wątkowo. |
Optymalizacja zmiennoprzecinkowa | Umożliwia optymalizację zmiennoprzecinkowa przez złagodzenie zgodności IEEE-754. | |
Metody wbudowane ukryte | Po włączeniu jest zadeklarowana private extern liczba kopii wbudowanych metod poza wierszem. |
|
Symbole ukryte domyślnie | Wszystkie symbole są deklarowane private extern , chyba że jawnie oznaczone do eksportu przy użyciu makra __attribute . |
|
Włączanie wyjątków języka C++ | Określa model obsługi wyjątków używany przez kompilator. | Nie — wyłącz obsługę wyjątków. Tak — włącz obsługę wyjątków. |
Język
Właściwości | opis | Opcje wyboru |
---|---|---|
Włączanie informacji o typie czasu wykonywania | Dodaje kod do sprawdzania typów obiektów C++ w czasie wykonywania (informacje o typie środowiska uruchomieniowego). (frtti, fno-rtti) | |
C Language Standard | Określa standard języka C. | Wartość domyślna C89 — C89 Language Standard. C99 - C99 Language Standard. C11 — C11 Language Standard. C99 (dialekt GNU) — Standard języka C99 (dialekt GNU). C11 (dialekt GNU) — standard języka C11 (dialekt GNU). |
C++ Language Standard | Określa standard języka C++. | Wartość domyślna C++03 — C++03 Language Standard. C++11 — C++11 Language Standard. C++14 — C++14 Language Standard. C++03 (dialekt GNU) — standard języka C++03 (dialekt GNU). C++11 (dialekt GNU) — standard języka C++11 (dialekt GNU). C++14 (dialekt GNU) — standard języka C++14 (dialekt GNU). |
Zaawansowany
Właściwości | opis | Opcje wyboru |
---|---|---|
Kompiluj jako | Wybiera opcję języka kompilacji dla plików c i .cpp. (-x c, -x c++) | Ustawienie domyślne — wykrywanie na podstawie rozszerzenia .c lub .cpp. Kompiluj jako kod C — kompiluj jako kod C. Skompiluj jako kod C++ — skompiluj jako kod C++. |
Wymuszone dołączanie plików | Określa co najmniej jeden wymuszony plik dołączania (-include [name]) |