|
Opis opcji dostępnych w menu Project | Options.
Opcja umożliwiająca ustawienie globalnej optymalizacji kodu. Domyślnie = None - nie włącza żadnej optymalizacji kodu. Takie ustawienie jest najlepsze, gdy zaczynasz i rozwijasz swój projekt. Speed - ustawia optymalizację kodu pod kontem szybkości. Selected - umożliwia ustawienie wybranych opcji aktualizacji poprzez kliknięcie na przycisku Optimization:
Chociaż taka optymalizacja powinna zmniejszyć rozmiar kodu, to w rzeczywistości optymalizuje tylko szybkość, rzadko redukując rozmiar kodu. Opcja ostrzeżeń kompilatora, umożliwia włączenie / wyłączenie komunikatów, które kompilator wyświetla gdy pojawia się ostrzeżenie. Domyślnie = All - włączone zostają wszystkie ostrzeżenia. None - wyłącza wszystkie ostrzeżenia. Selected - pozwala określić, które komunikaty o ostrzeżeniach będą wyświetlane. Opcje debufowania pozwalające na wygenerowanie różnych typów informacji podczas zestawiania kodu. Podczas łączenie większych plików *.OBJ możesz potrzebować wyłączyć te opcje by powiększyć dostępne zasoby systemowe. Pamiętaj żeby przejrzeć te opcje zanim końcowy projekt urośnie. Odznaczenie tych opcji może nieznacznie zmniejszyć rozmiar pliku wynikowego. Debug information - dodaje debugowane informacje do skompilowanego pliku *.OBJ. Line number information - dodaje numer lini do pliku *.OBJ. Disable inline expansions - sprawia, że kompilator rozszerza C++ inline funkcji inline. Aby móc debugować informacje dodawane do końcowego pliku wykonywalnego, należy zaznaczyć na zakładce Linkier opcję Create debug information. Jeśli masz pojemny dysk zaznacz wszystkie te opcje. Pozwala na ustawienie zalecanego kompletu opcji podczas rozwijania aplikacji. Full debug ustawia następujące opcje: Code optimization = None Debugging - Debug information - enabled Debugging - Line number information - enabled Debbuging - Disable inline expansion - enabled Compiling - Stack frame - enabled
Advanced compile: Register Values = None
Pascal: Code generation - Optimization - disabled Code generation - Stack frames - enabled Debugging - Debug information - enabled Debugging - Local symbols - enabled Debugging - Symbol info - enabled
Linkier: Linking - Include debug information - enabled
Debug Information - Full - enabled
Directories/Conditionals: Dodaje makro _DEBUG do Conditional defines list. Możesz zmienić nazwę definicji poprze zmianę klucza rejestru HKEY_CURRENT_USER \ Software \ Borland \ C ++ Builder \ 6.0 \ Debugging. Klucz powinien zostać nazwany "DebugDefine" i powinien być wartością typu string wyszczególniającą zdefiniowaną nazwę, której chcesz użyć. Ustawia kompilator i opcje linkiera (konsolidatora) w taki sposób, żeby zakończyć rozwój i rozpocząć debugowanie aplikacji. Release ustawia następujące opcje:
Compiler: Code optimizations - Speed with scheduling - enabled Debugging - Debug information - disabled Debugging - Line number information - disabled Debugging - Disable inline expansions - disabled Compiling - Stack frames - disabled
Advanced compiler: Register Variables - Automatic - enabled
Pascal options: Code generation - Optimization - enabled Code generation - Stack frames - disabled Debugging - Debug information - disabled Debugging - Local symbols - disabled Debugging - Symbol info - disabled
Linkier: Linking - Include debug information - disabled
Tasm: Debug Information = None
Directories/Conditionals: Usuwa makro _DEBUG do Conditional defines list. Ta sekcja zawiera ogólne pre-kompilowane opcje nagłówka. Pre-compiler może radykalnie zwiększyć szybkość kompilacji, jednak wymaga to sporej ilości miejsca na dysku. Przyspieszenie szybkości kompilacji odbywa się poprzez przechowywanie obrazu tabeli symbolów w pliku na dysku, dlatego możliwe jest przeładowanie takiego pliku z dysku zamiast ponownego parsowania wszystkich nagłówków plików. Bezpośrednie ładowanie tabeli symbolów z dysku jest dużo szybsze niż parsowanie tekstu plików nagłówka, jeżeli kilka plików źródłowych zawiera ten sam plik nagłówka. Domyślny = Cach pre-compiled headers None - nie generuje pre-compiled nagłówka Use pre-compiler headers - sprawia, że kompilator generuje pre-kompilowane pliki nagłówka. Domyślna nazwa pliku vcl60.csm. Cache pre-compiled headers - sprawia, że kompilator umieszcza nagłówki w pamięci cache. Jest to przydatne kiedy pre-kompiluje się więcej niż jeden plik nagłówka File name - pozwala na wyszczególnienie użytego pliku nagłówka. Stop after - można tego użyć by zmniejszyć ilość użytego miejsca na dysku po pre-kompilacji. Nie polecam się bawienia tą opcją ponieważ można co najwyżej zmniejszyć rozmiar plików projektu, nie wpływa to jednak w żaden sposób na rozmiar aplikacji. Te opcje kontrolują ogólne zachowanie się kompilatora C++ Builder. Jeżeli potrzebujesz ustawić bardziej dokładne opcje pracy kompilatora przejdź do zakładki Advanced Compiler. Domyślnie = wszystkie opcje są zaznaczone. Merge duplicate strings - powoduje połączenie podwójnych strings. Generowane są mniejsze programy przy nieznacznie dłuższym czasie kompilacji, ale może wywoływać błędy jeżeli modyfikujesz jeden string. Stack frames - sprawia, że kompilator generuje standardowy zapis funkcji i operacji wyjścia, jest to pomocne podczas debugowania. Kiedy ta opcja jest niezaznaczona, dowolna funkcja nie używająca loklnych zmiennych i nie pobiera żadnych argumentów jest kompilowana ze skróconym zapisem i kodem zwrotnym, to sprawia że kod jest mniejszy i szybszy. Z doświadczenia jednak mogę stwierdzić, że rozmiar pliku wynikowego się zwiększa zamiast zmniejszać. Opcja ta powinna być zaznaczona jeśli zamierzasz debugować program. Treat enum types as ints - kompilator alokuje całe słowo (a four-byte int dla 32-bit programów) dla typów enumeration (wymienianie) (zmienne typu enum). Dosłownie znaczy to potraktuj typy enum jako int. Kiedy ta opcja nie jest zazznaczona kompilator alokuje najmniejszą liczbę całkowitą, która zawiera wartość enum, kompilator alokuje unsigned albo signed char jeżeli wartości enum zawierają się w zakresie od 0 do 255 (minimum), albo -128 do 127 (maksimum), lub unsigned albo signed short jeśli wartości enum są poza zakresem 0 do 4,294,967, 295 albo -2,147,483,647. Kompilator alokuje cztery-bajty int (32-bit), żeby reprezentować wartość enum, jeżeli jakaś wartość znajduje się poza zakresem. Show general messages - sprawia, że wyświetlane są ogólne błędy kompilatora i linkiera (konsolidatora), są to ostrzeżenia lub komunikaty błedu. Extended error information - dostarcza informacji pomocniczych dotyczących kompilatora, błędy zawierające informacje o kontekście parsera. Komunikaty błędu zawierające dodatkową informację zawierają znak plus (+) z lewej strony, kliknięcie na tym znaku wyświetla dodatkowe informacje.
Podsumowanie zakładki Compiler. Dla początkujących i średnio - zaawansowanych podczas tworzenia i testowania projektu zalecam włączenie opcji Full debug, a przy tworzeniu końcowego pliku projektu do redystrybucji sugeruję użycie opcji Release.
|