Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
GCC, G++ - podstawowe informacje, składnia podstawowych poleceń i możliwości
2
5 Etapów Pracy Kompilatora
Preprocessing - prekompilacja Compilation – kompilacja właściwa Optimization - optymalizacja Assembling – asemblacja kodu Linking - linkowanie
3
5 Etapów Pracy Kompilatora
Preprocessing: Tworzenie ostatecznego KODU ŹRÓDŁOWEGO aplikacji Dołączone są dyrektywy #include Podstawienia makroinstrukcji #define Opcja: -E
4
5 Etapów Pracy Kompilatora
2. Compilation: Kompilacja do kodu assemblera Wychwytywanie błędów Tworzony jest plik (.s) Opcja: -S
5
5 Etapów Pracy Kompilatora
3. Optimization: Zmiany w kodzie assemblera zwiększające efektywność kodu Optymalizacje przydziału rejestrów Usprawnianie sposobu obliczania adresów
6
5 Etapów Pracy Kompilatora
4. Assembling: Zamiana kodu assemblerowego na maszynowy 5. Linking: Linker szuka niezidentyfikowanych części kodu Kod maszynowy przypisywany do adresów Plik wykonywalny
7
Kompilowanie i wyjście
-E - zatrzymanie na preprocessingu -S - zatrzymanie na etapie kodu assemblera -c - zatrzymanie na assemblacji -save-temps - kompilator nie usuwa plików pośrednich -x - określa język pliku wejściowego -o file_name - specyfikacja pliku wyjściowego Domyślnie: a.out Source_name.o Source-Name.s
8
Kompilowanie i wyjście
9
Szybkość działania programu
Optymalizacja Szybkość działania programu Rozmiar pliku wynikowego Szybkość kompilacji
10
Optymalizacja -O0 – brak optymalizacji
-O/-O1 – podstawowa optymalizacja -O2 – poziom ZALECANY, uzyskujemy korzystny kompromis pomiędzy szybkością działania, a długością kompilacji -O3 – poziom NIEZALECANY -Os – optymalizacja wielkości pliku
12
Opcje ostrzeżeń -Wall – włącza wszystkie możliwe ostrzeżenia dotyczące konstrukcji, które budzą jakiekolwiek kontrowersje -pedantic – badanie zgodności ze standardem ISO, ASCII -fsyntax-only – składnia
13
Opcje ostrzeżeń
14
Opcje ostrzeżeń
15
Opcje preprocesora i linkera
-I h_file_path – dodaje pliki nagłówkowe w katalogu h_file_path -H – wypisze nazwy używanych plików (.h) -include file(s) – przetwarza najpierw pliki files, potem dopiero pliki wejściowe -std= / -ansi – określenie standardu -L – ścieżka do folderu z bibliotekami -l – biblioteki (.a)
16
Opcje preprocesora i linkera
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.