0.9 — Konfigurowanie kompilatora: Kompiluj konfiguracje

A konfiguracja kompilacji (zwana także cel kompilacji) to zbiór ustawień projektu, który określa, w jaki sposób środowisko IDE będzie budować projekt. Konfiguracja kompilacji zazwyczaj obejmuje takie rzeczy, jak nazwa pliku wykonywalnego, w jakich katalogach IDE będzie szukać innych plików kodu i bibliotek, czy zachować, czy usunąć informacje debugowania, w jakim stopniu kompilator ma zoptymalizować program itp. Ogólnie rzecz biorąc, będziesz chciał pozostawić te ustawienia na wartościach domyślnych, chyba że masz konkretny powód, aby coś zmienić.

Gdy tworzysz nowy projekt w swoim IDE, większość IDE skonfiguruje za Ciebie dwie różne konfiguracje kompilacji: konfigurację wydania, oraz konfiguracja debugowania.

Klasa Konfiguracja debugowania została zaprojektowana, aby pomóc Ci w debugowaniu programu i ogólnie jest tą, której będziesz używać podczas pisania programów. Ta konfiguracja wyłącza wszelkie optymalizacje i zawiera informacje dotyczące debugowania, dzięki czemu programy są większe i wolniejsze, ale znacznie łatwiejsze do debugowania. Konfiguracja debugowania jest zwykle domyślnie wybierana jako konfiguracja aktywna. Porozmawiamy więcej o technikach debugowania w późniejszej lekcji.

Klasa Konfiguracja wydania jest przeznaczona do użycia podczas publicznego udostępniania programu. Ta wersja jest zazwyczaj zoptymalizowana pod kątem rozmiaru i wydajności i nie zawiera dodatkowych informacji debugowania. Ponieważ konfiguracja wydania zawiera wszystkie optymalizacje, tryb ten jest również przydatny do testowania wydajności Twojego kodu (co pokażemy Ci, jak to zrobić w dalszej części serii tutoriali).

Gdy Program Hello World (z lekcji 0.7 -- Kompilowanie pierwszego programu) został zbudowany przy użyciu Visual Studio, plik wykonywalny wygenerowany w konfiguracji debugowania miał 65 KB, podczas gdy plik wykonywalny wbudowany w wersji Release miał 12 KB. Różnica wynika w dużej mierze z dodatkowych informacji debugowania przechowywanych w kompilacji debugowania.

Chociaż możesz tworzyć własne konfiguracje kompilacji, rzadko będziesz miał ku temu powód, chyba że chcesz porównać dwie kompilacje utworzone przy użyciu różnych ustawień kompilatora.

Najlepsza praktyka

Użyj debugowaniem konfigurację kompilacji podczas tworzenia programów. Kiedy będziesz gotowy udostępnić swój plik wykonywalny innym osobom lub chcesz przetestować wydajność, użyj konfiguracji kompilacji wydaniem .

Niektóre środowiska IDE (np. Visual Studio) tworzą również osobne konfiguracje kompilacji dla różnych platform. Na przykład program Visual Studio tworzy konfiguracje kompilacji zarówno dla platformy x86 (32-bitowej), jak i x64 (64-bitowej).

Przełączanie między konfiguracjami kompilacji

W przypadku użytkowników programu Visual Studio

Istnieje wiele sposobów przełączania między debugowaniem i wydaniem w programie Visual Studio. Najprostszym sposobem jest dokonanie wyboru bezpośrednio z menu Konfiguracje rozwiązań w Standardowych opcjach paska narzędzi:

Lista konfiguracji rozwiązań VS

Ustaw go na Debuguj na razie.

Możesz także uzyskać dostęp do okna dialogowego menedżera konfiguracji poprzez wybierając Utwórz menu > Menedżer konfiguracji i zmień aktywną konfigurację rozwiązania.

Na prawo od listy rozwijanej Konfiguracje rozwiązań , Visual Studio ma również menu rozwijane Platforma rozwiązań , które umożliwia przełączanie między Platformy x86 (32-bitowe) i x64 (64-bitowe).

W przypadku użytkowników Code::Blocks

W Code::Blocks powinieneś zobaczyć element o nazwie Build Target w klasie Pasek narzędzi kompilatora:

Code::Blocks Lista rozwijana budowania celu

Ustaw go na Debuguj na razie.

Dla użytkowników gcc i Clang

Dodaj -ggdb do wiersza poleceń w celu kompilacji debugowania i -O2 -DNDEBUG w przypadku kompilacji wydań. Skorzystaj teraz z opcji kompilacji debugowania.

W przypadku GCC i Clang opcja -O# służy do kontrolowania ustawień optymalizacji. Najczęstsze opcje są następujące:

  • -O0 to zalecany poziom optymalizacji dla kompilacji debugowania, ponieważ wyłącza optymalizację. Jest to ustawienie domyślne.
  • -O2 to zalecany poziom optymalizacji dla kompilacji wydań, ponieważ stosuje optymalizacje, które powinny być korzystne dla wszystkich programów.
  • -O3 dodaje dodatkowe optymalizacje, które mogą, ale nie muszą, działać lepiej niż -O2 w zależności od konkretnego programu. Po napisaniu programu możesz spróbować skompilować wersję wydania za pomocą -O3 zamiast -O2 i zmierzyć, która jest szybsza.

Zobacz https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html aby uzyskać informacje na temat opcji optymalizacji.

Dla użytkowników VS Code

Gdy uruchomiłeś program po raz pierwszy, nowy plik o nazwie tasks.json został utworzony w folderze .vscode okienko eksploratora. Otwórz plik tasks.json , znajdź „args”, a następnie zlokalizuj wiersz „${file}” w tej sekcji.

Nad wierszem „${file}” dodaj nowy wiersz zawierający następujące polecenie (po jednym w wierszu) podczas debugowania:
"-ggdb",

Nad wierszem „${file}” dodaj nowe wiersze zawierające następujące polecenia (po jednym w wierszu) dla kompilacji wersji:
"-O2",
"-DNDEBUG",

Modyfikowanie kompilacji konfiguracje

W ciągu następnych kilku lekcji pokażemy, jak dostosować niektóre ustawienia w konfiguracjach kompilacji. Za każdym razem, gdy zmieniasz ustawienia projektu, zalecamy dokonanie zmian we wszystkich konfiguracjach kompilacji.

Pomoże to zapobiec wprowadzeniu zmian w niewłaściwej konfiguracji kompilacji i zapewni, że zmiana zostanie nadal zastosowana, jeśli zdarzy się później zmienić konfiguracje kompilacji.

Wskazówka

Za każdym razem, gdy aktualizujesz ustawienia projektu, wprowadź zmiany we wszystkich konfiguracjach kompilacji (chyba że z jakiegoś powodu nie jest to właściwe).

guest
Twój adres e-mail nie zostanie wyświetlony
Znalazłeś błąd? Zostaw komentarz powyżej!
Komentarze związane z poprawkami zostaną usunięte po przetworzeniu, aby pomóc zmniejszyć bałagan. Dziękujemy za pomoc w ulepszaniu witryny dla wszystkich!
Awatary z https://gravatar.com/ są połączone z podanym adresem e-mail.
Powiadamiaj mnie o odpowiedziach:  
270 Komentarze
Najnowsze
Najstarsze Najczęściej głosowane
Wbudowane opinie
Wyświetl wszystkie komentarze