01
av 03
Byggkonfigurationer - Base: Debug, Release
Project Manager-fönstret i din Delphi (RAD Studio) IDE visar och organiserar innehållet i din nuvarande projektgrupp och alla projekt som den innehåller. Den visar alla enheter som ingår i ditt projekt såväl som alla formulär och resursfiler som ingår.
Avsnittet Byggkonfigurationer listar olika byggkonfigurationer du har för ditt projekt.
Några nyare (för att vara korrekt: från och med Delphi 2007) Delphi-versioner har två (tre) standardkonfigurationer: DEBUG och RELEASE.
Artikeln Conditional Compilation 101 nämner byggkonfigurationer men förklarar inte skillnaden i detaljer.
Felsöka vs. Släpp
Eftersom du kan aktivera alla byggkonfigurationer du ser i Project Manager och bygga ditt projekt som producerar en annan körbar fil, är frågan vad är skillnaden mellan Debug och Release?
Själva namnet: "debug" och "release" bör peka dig i rätt riktning.
- Felsökningskonfigurationen bör vara aktiv och användas medan vi utvecklar och felsöker och ändrar din applikation.
- Releasekonfigurationen bör aktiveras när vi bygger din applikation så att den producerade körbara filen ska skickas till användarna.
Ändå kvarstår frågan: vad är skillnaden? Vad kan du göra när "felsökning" är aktivt och vad som ingår i den slutliga körbara filen vs. hur ser den körbara ut när "release" tillämpas?
Bygg konfigurationer
Som standard finns det tre (även om du i projektledaren bara ser två) byggkonfigurationer skapade av Delphi när du startar ett nytt projekt. Dessa är Base, Debug och Release.
De Baskonfiguration fungerar som en basuppsättning av alternativvärden som används i alla konfigurationer som du sedan skapar.
Alternativvärden som nämns är sammanställa och länkning och en annan uppsättning alternativ som du kan ändra för ditt projekt med hjälp av dialogrutan Projektalternativ (huvudmeny: Projekt - Alternativ).
De Felsökningskonfiguration utökar Base genom att inaktivera optimering och aktivera felsökning samt ställa in specifika syntaxalternativ.
De Släpp konfigurationen utökar Base till att inte producera symbolisk felsökningsinformation, koden genereras inte för TRACE- och ASSERT-samtal, vilket betyder att storleken på din körbara reduceras.
Du kan lägga till egna byggkonfigurationer och du kan ta bort både standardfelsökning och frisättningskonfigurationer, men du kan inte ta bort baskonfigurationen.
Byggkonfigurationer sparas i projektfilen (.dproj). DPROJ är en XML-fil, här är hur avsnittet med build-konfigurationer:
00400000.. \ $ (Config) \ $ (Platform) WinTypes = Windows; WinProcs = Windows; DbiTypes = BDE; DbiProcs = BDE; $ (DCC_UnitAlias). \ $ (Config) \ $ (Platform) DEBUG, $ (DCC_Define) falsk. Sann. falsk. RELEASE, $ (DCC_Define) 0. falsk.
Naturligtvis kommer du inte att ändra DPROJ-filen manuellt, den underhålls av Delphi.
Du * kan * byta namn på byggkonfigurationer, du * kan * ändra inställningarna för varje byggkonfiguration, du * kan * göra det så att "release" är för felsökning och "felsökning" är optimerad för dina klienter. Därför behöver du inte veta vad du gör :)
Kompilera, bygga, springa
När du arbetar med din applikation och utvecklar den kan du kompilera, bygga och köra applikationen direkt från IDE. Att sammanställa, bygga och köra producerar den körbara filen.
Sammanställning kommer att syntax kontrollera din kod och kommer att kompilera applikationen - med bara hänsyn till de filer som har ändrats sedan den senaste Build. Kompilering producerar DCU-filer.
Byggnad är en förlängning för att sammanställa där alla enheter (även de som inte har ändrats) sammanställs. När du ändrar projektalternativ bör du bygga!
Running kompilerar koden och kör applikationen. Du kan köra med felsökning (F9) eller utan felsökning (Ctrl + Shift + F9). Om den körs utan felsökning kommer debuggaren som är inbyggd i IDE inte att åberopas - dina felsökningsdelar fungerar "inte".
Nu när du vet hur och var build-konfigurationerna sparas, låt oss se skillnaden mellan debug- och release-build.
02
av 03
Byggkonfiguration: DEBUG - för felsökning och utveckling
Standardkonfigurera Debug, du kan hitta i Project Manager för ditt Delphi-projekt, skapas av Delphi när du skapade en ny applikation / projekt.
Felsökningskonfiguration inaktiverar optimering och möjliggör felsökning.
För att redigera byggkonfigurationen: högerklicka på konfigurationsnamnet, välj "Redigera" från snabbmenyn så ser du dig själv titta på dialogrutan Projektalternativ.
Felsökningsalternativ
Eftersom felsökning utökar baskonfigurationsbyggnaden visas de inställningar som har ett annat värde med fet stil.
För felsökning (och därför felsökning) är de specifika alternativen:
- Delphi Compiler - Compiling - Code Generation - Optimering AV - kompilatorn kommer INTE att utföra ett antal kodoptimeringar, till exempel att placera variabler i CPU-register, eliminera vanliga subexpressions och generera induktionsvariabler.
- Delphi Compiler - Compiling - Code Generation - Stapelramar PÅ - stapelramar genereras alltid för procedurer och funktioner, även om de inte behövs.
- Delphi Compiler - Compiling - Debugging - Felsökningsinformation PÅ - när ett program eller enhet är kompilerad med detta alternativ aktiverat, integrerad felsökning låter dig enkelsteg och ställa brytpunkter. Felsökningsinformation som är "på" påverkar inte storleken eller hastigheten på det körbara programmet - felsökningsinformation sammanställs i DCU: er och kopplas inte till den körbara filen.
- Delphi Compiler - Compiling - Debugging - Lokala symboler PÅ - När ett program eller enhet är kompilerad med detta alternativ aktiverat, integrerad felsökare låter dig granska och modifiera modulens lokala variabler. Lokala symboler som är "på" påverkar inte storleken eller hastigheten på det körbara programmet.
OBS: som standard är "använd felsökning .dcus" alternativet är AV. Om du ställer in det här alternativet kan du göra det felsöka Delphi VCL-källkod (ställ in en brytpunkt i VCL)
Låt oss nu se vad "Release" handlar om ...
03
av 03
Byggkonfiguration: RELEASE - för offentlig distribution
Standardbyggnadskonfigurationen Release, du kan hitta i Project Manager för ditt Delphi-projekt, skapas av Delphi när du skapade ett nytt program / projekt.
Release-konfiguration möjliggör optimering och inaktiverar felsökning, koden genereras inte för TRACE- och ASSERT-samtal, vilket betyder att storleken på din körbara reduceras.
För att redigera byggkonfigurationen: högerklicka på konfigurationsnamnet, välj "Redigera" från snabbmenyn så ser du dig själv titta på dialogrutan Projektalternativ.
Släpp alternativ
Eftersom utgåvan utvidgar baskonfigurationsbyggnaden visas de inställningarna som har ett annat värde med fet stil.
För release (den version som ska användas av användarna av din applikation - inte för felsökning) är de specifika alternativen:
- Delphi Compiler - Kompilering - Kodgenerering - Optimering PÅ - kompilatorn kommer att utföra ett antal kodoptimeringar, såsom att placera variabler i CPU-register, eliminera vanliga subexpressions och generera induktionsvariabler.
- Delphi Compiler - Compiling - Code Generation - Stapla ramar AV - stapelramar genereras INTE för procedurer och funktioner.
- Delphi Compiler - Compiling - Debugging - Felsökningsinformation AV - när ett program eller enhet är kompilerad med det här alternativet inaktiverat, integrerad felsökning låter INTE dig enstegs och ställa in brytpunkter.
- Delphi Compiler - Compiling - Debugging - Lokala symboler AV - När ett program eller enhet är kompilerad med det här alternativet inaktiverat, integrerad felsökare låter INTE granska och modifiera modulens lokala variabler.
Dessa är standardvärdena som ställts in av Delphi för ett nytt projekt. Du kan ändra valfritt projektalternativ för att göra din egen version av felsökning eller släppa byggkonfigurationer.