1 / 16

GCC, G++ - podstawowe informacje, składnia podstawowych poleceń i możliwości

GCC, G++ - podstawowe informacje, składnia podstawowych poleceń i możliwości. 5 Etapów Pracy Kompilatora. Preprocessing - prekompilacja Compilation – kompilacja właściwa Optimization - optymalizacja Assembling – asemblacja kodu Linking - linkowanie. 5 Etapów Pracy Kompilatora.

melba
Download Presentation

GCC, G++ - podstawowe informacje, składnia podstawowych poleceń i możliwości

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Optymalizacja

  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

  11. 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

  12. Opcje ostrzeżeń

  13. Opcje ostrzeżeń

  14. 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)

  15. Opcje preprocesora i linkera

More Related