01
z 03
Konfiguracje kompilacji - podstawa: debugowanie, wydanie
Okno Project Manager w twoim Delfy (RAD Studio) IDE wyświetla i organizuje zawartość bieżącej grupy projektów i zawartych w niej projektów. Spowoduje to wyświetlenie listy wszystkich jednostek, które są częścią twojego projektu, a także wszystkich zawartych formularzy i plików zasobów.
Sekcja Konfiguracje kompilacji zawiera listę różnych konfiguracji kompilacji dostępnych dla projektu.
Niektóre nowsze (poprawne: począwszy od Delphi 2007) Wersje Delphi mają dwie (trzy) domyślne konfiguracje kompilacji: DEBUG i RELEASE.
W artykule o kompilacji warunkowej 101 wspomniano o konfiguracjach kompilacji, ale nie wyjaśniono różnicy w szczegółach.
Debugowanie vs. Wydanie
Ponieważ możesz aktywować każdą konfigurację kompilacji, którą widzisz w Project Managerze, i zbudować swój projekt, tworząc inny plik wykonywalny, pytanie brzmi: Jaka jest różnica między debugowaniem a wydaniem?
Sama nazwa: „debug” i „release” powinna skierować cię w dobrym kierunku.
- Konfiguracja debugowania powinna być aktywna i używana podczas opracowywania, debugowania i zmiany aplikacji.
- Konfiguracja wersji powinna zostać aktywowana podczas budowania Twojej aplikacji, aby wygenerowany plik wykonywalny został wysłany do użytkowników.
Pozostaje jednak pytanie: jaka jest różnica? Co możesz zrobić, gdy aktywne jest „debugowanie” i co zawiera ostateczny plik wykonywalny vs. jak wygląda plik wykonywalny po zastosowaniu „release”?
Konfiguruj kompilacje
Domyślnie istnieją trzy (chociaż w Menedżerze projektów widać tylko dwie) konfiguracje kompilacji utworzone przez Delphi po uruchomieniu nowego projektu. Są to Baza, Debugowanie i Wydanie.
The Konfiguracja podstawowa działa jako podstawowy zestaw wartości opcji który jest używany we wszystkich konfiguracjach, które następnie tworzysz.
Wspomniane wartości opcji to kompilacja i łączenie oraz inny zestaw opcji, które możesz zmienić dla swojego projektu za pomocą okna dialogowego Opcje projektu (menu główne: Projekt - Opcje).
The Konfiguracja debugowania rozszerza Base poprzez wyłączenie optymalizacji i włączenie debugowania, a także ustawienie określonych opcji składni.
The Zwolnij konfigurację rozszerza program Base, aby nie generował symbolicznych informacji debugowania, kod nie jest generowany dla wywołań TRACE i ASSERT, co oznacza, że rozmiar pliku wykonywalnego jest zmniejszony.
Możesz dodać własne konfiguracje kompilacji i usunąć zarówno domyślne konfiguracje debugowania, jak i wydania, ale nie możesz usunąć wersji podstawowej.
Konfiguracje kompilacji są zapisywane w pliku projektu (.dproj). DPROJ jest plikiem XML, oto jak sekcja z konfiguracjami kompilacji:
00400000.. \ $ (Config) \ $ (Platforma) WinTypes = Windows; WinProcs = Windows; DbiTypes = BDE; DbiProcs = BDE; $ (DCC_UnitAlias). \ $ (Config) \ $ (Platforma) DEBUG; $ (DCC_Define) fałszywy. prawdziwe. fałszywy. RELEASE; $ (DCC_Define) 0. fałszywy.
Oczywiście nie zmienisz pliku DPROJ ręcznie, jest on obsługiwany przez Delphi.
* Możesz * zmienić nazwę konfiguracji kompilacji, * możesz * zmienić ustawienia każdej konfiguracji kompilacji, * możesz * zrobić to tak, aby „release” służyło do debugowania, a „debugowanie” było zoptymalizowane dla twoich klientów. Dlatego nie musisz wiedzieć, co robisz :)
Kompilowanie, budowanie, bieganie
Podczas pracy nad aplikacją, rozwijając ją, możesz kompilować, budować i uruchamiać aplikację bezpośrednio z IDE. Kompilacja, kompilacja i uruchomienie wygeneruje plik wykonywalny.
Kompilacja sprawdzi składnię kodu i skompiluje aplikację - biorąc pod uwagę tylko te pliki, które zmieniły się od czasu ostatniej Kompilacji. Kompilacja tworzy pliki DCU.
Budowanie jest rozszerzeniem kompilacji, w której kompilowane są wszystkie jednostki (nawet te niezmienione). Po zmianie opcji projektu powinieneś zbudować!
Uruchomienie kompiluje kod i uruchamia aplikację. Możesz uruchomić z debugowaniem (F9) lub bez debugowania (Ctrl + Shift + F9). Jeśli zostanie uruchomiony bez debugowania, debuger wbudowany w IDE nie zostanie wywołany - punkty przerwania debugowania nie będą działać.
Teraz, gdy wiesz, jak i gdzie są zapisywane konfiguracje kompilacji, zobaczmy różnicę między kompilacjami debugowania i wydania.
02
z 03
Konfiguracja kompilacji: DEBUG - do debugowania i programowania
Domyślna konfiguracja kompilacji Debugowanie, którą można znaleźć w Menedżerze projektów dla projektu Delphi, jest tworzona przez Delphi podczas utworzył nową aplikację / projekt.
Konfiguracja debugowania wyłącza optymalizację i umożliwia debugowanie.
Aby edytować konfigurację kompilacji: kliknij prawym przyciskiem myszy nazwę konfiguracji, wybierz „Edytuj” z menu kontekstowego, a zobaczysz okno dialogowe Opcje projektu.
Opcje debugowania
Ponieważ debugowanie rozszerza kompilację konfiguracji podstawowej, ustawienia o innej wartości zostaną wyświetlone pogrubioną czcionką.
W przypadku debugowania (a zatem i debugowania) dostępne są następujące opcje:
- Delphi Compiler - Kompilowanie - Generowanie kodu - Optymalizacja WYŁ - kompilator NIE przeprowadzi szeregu optymalizacji kodu, takich jak umieszczanie zmiennych w rejestrach procesora, eliminowanie typowych podwyrażeń i generowanie zmiennych indukcyjnych.
- Delphi Compiler - Kompilowanie - Generowanie kodu - Układaj ramki włączone - ramki stosu są zawsze generowane dla procedur i funkcji, nawet gdy nie są potrzebne.
- Delphi Compiler - Kompilowanie - Debugowanie - Informacje debugowania WŁĄCZONE - po kompilacji programu lub jednostki z włączoną tą opcją, zintegrowany debugger pozwala na jednoetapowe ustawianie punktów przerwania. Włączone informacje debugowania nie wpływają na rozmiar ani szybkość programu wykonywalnego - informacje debugowania są kompilowane w jednostkach DCU i nie są łączone z plikiem wykonywalnym.
- Delphi Compiler - Kompilowanie - Debugowanie - Symbole lokalne WŁ - Po kompilacji programu lub jednostki z włączoną tą opcją, zintegrowany debugger pozwala badać i modyfikować lokalne zmienne modułu. Włączone symbole lokalne nie wpływają na rozmiar ani szybkość wykonywalnego programu.
UWAGA: domyślnie „użyj debugowania .dcus” opcja jest wyłączona. Włączenie tej opcji umożliwia debuguj kod źródłowy Delphi VCL (ustaw punkt przerwania w VCL)
Zobaczmy teraz, na czym polega „Wydanie” ...
03
z 03
Konfiguracja kompilacji: RELEASE - do publicznej dystrybucji
Domyślna wersja kompilacji, którą można zlokalizować w Menedżerze projektów dla projektu Delphi, jest tworzona przez Delphi podczas tworzenia nowej aplikacji / projektu.
Konfiguracja wersji umożliwia optymalizację i wyłącza debugowanie, kod nie jest generowany dla wywołań TRACE i ASSERT, co oznacza, że rozmiar pliku wykonywalnego jest zmniejszony.
Aby edytować konfigurację kompilacji: kliknij prawym przyciskiem myszy nazwę konfiguracji, wybierz „Edytuj” z menu kontekstowego, a zobaczysz okno dialogowe Opcje projektu.
Opcje wydania
Ponieważ wersja rozszerza kompilację konfiguracji podstawowej, ustawienia o innej wartości zostaną wyświetlone pogrubioną czcionką.
W przypadku wydania (wersja do użytku przez użytkowników aplikacji - nie do debugowania) dostępne są następujące opcje:
- Kompilator Delphi - Kompilowanie - Generowanie kodu - Optymalizacja WŁ - kompilator przeprowadzi szereg optymalizacji kodu, takich jak umieszczanie zmiennych w rejestrach procesora, eliminowanie typowych podwyrażeń i generowanie zmiennych indukcyjnych.
- Delphi Compiler - Kompilowanie - Generowanie kodu - Ustaw ramki WYŁĄCZONE - ramki stosu NIE są generowane dla procedur i funkcji.
- Delphi Compiler - Kompilowanie - Debugowanie - Informacje debugowania wyłączone - po kompilacji programu lub jednostki z wyłączoną tą opcją, zintegrowany debugger NIE pozwala na jednoetapowe ustawianie punktów przerwania.
- Delphi Compiler - Kompilowanie - Debugowanie - Symbole lokalne WYŁ - Po kompilacji programu lub jednostki z wyłączoną tą opcją, zintegrowany debugger NIE pozwala badać i modyfikować lokalnych zmiennych modułu.
Są to wartości domyślne ustawione przez Delphi dla nowego projektu. Możesz zmienić dowolną opcję projektu, aby utworzyć własną wersję konfiguracji debugowania lub kompilacji wydania.