Udostępnij za pośrednictwem


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 externliczba 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])