Innehållsförteckning:
- Använd fliktecken
- Syntaxmarkering
- Källkod formattering
- Kodförkortningar
- Till exempel i programmet Budget5 som ingår i nedladdningsbart material från Dummies. com, om du anger
- Det finns emellertid några saker, (en hel del saker, faktiskt) att GNU C ++-kompilatorn kommer att fixa och fortsätta utan kommentar, om du vill ha det. Det är till exempel inte ett fel att definiera en variabel i en funktion och använd aldrig den. Eller att sätta en avkastning i mitten av en funktion så att koderna efter avkastningen aldrig kan utföras. Det här är inte fel, men de ser mäktiga ud på en misstrogen kompilator.
- Du kan lätt skapa ett Debug-build-mål och ett Release-byggmål när du skapar projektet - låt guiden göra allt arbete för dig. Det händer emellertid mycket ofta att efter veckor av att arbeta på och felsöka ett projekt går du att släppa det bara för att finna att det inte finns något Release Build-mål. Oroa dig inte, du kan alltid skapa ett nytt byggmål på egen hand.
- Tänk på följande triviala och fullständigt färdiga (men kloka) exempel:
- Om du vill inaktivera felsökningsinformation i fältet Utvecklingsbyggnad väljer du Projekt → Byggalternativ och väljer sedan Frigöringsmålet till vänster. Se nu till att alternativet Produce Debugging Symbols [-g] klickas av för Release-målet. (Nu är det bra att se till att samma alternativ klickas på för Debug-byggnadsmålet.)
- Välj projekt → Ange programmets argument.
Video: 10 Things You Didn't Know About Your Phone 2024
Kod:: Blokker kommer med standardinställningar som är mest naturliga för de flesta C ++-program; Men eftersom du börjar spendera mer och mer tid i miljön, kan du hitta den Koden:: Block kan vara en vänligare plats med bara några tweaks.
Använd fliktecken
Eller använd inte särskilt fliktecken. Denna inställning gör ingen skillnad om du arbetar med ett projekt där alla alltid kommer att använda kod:: block. Problemet med fliktecken är dock att olika redaktörer tenderar att tolka flikarna olika. Vissa redaktörer flyttar markören till nästa flikstopp, vissa redaktörer flyttar markören över ett visst antal tecken, och inte alla redaktörer är överens om hur många tecken som ska fördelas för en flik. Lyckligtvis tolkar alla redaktörer samma utrymme så det är mycket säkrare att berätta Koden:: Blädderredaktör för att alltid använda mellanslag och aldrig spara flikar i källfilerna. För att göra det, välj Inställningar → Redigerare. Välj nu Allmänna inställningar till vänster och se till att Använd TAB-tecken är avmarkerat.
Syntaxmarkering
Syntaxmarkering ändrar färgerna på olika typer av strukturer, använder en färg för nyckelord, en annan färg för variabla namn, en tredjedel för teckensträngar och så vidare. Det här är mycket användbart för att undvika dumma fel när du skriver. Om du till exempel misspellar ett sökord kommer det inte att visas i sökordets färg. Om du vill aktivera den här funktionen väljer du Inställningar → Redigerare → Syntax Markera. Normalt kod:: Block kan berätta språket från filnamnens förlängning. Om du använder en filförlängning som inte är standard, var noga med att lägga till den i listan genom att välja Filemask. Dessutom kan du justera alternativen för syntaxmarkering i det här fönstret för att bättre passa dina behov. Detta är särskilt viktigt om du har någon form av synproblem, särskilt någon form av färgblindhet.
Källkod formattering
Det här kan vara gammaldags, men en bra programmerare bör visa lite stolthet i utseendet på hans kod. Detta kräver skapande och stadig överensstämmelse med en kodningsstandard. Ännu mer än det, när man arbetar på ett stort lag, ska alla använda samma kodningsstandard. Annars ser koden röra ut, eftersom moduler skrivna av en person har en utseende och känsla medan de som skrivits av en lagkamrat har ett annat utseende - mycket oprofessionellt.
Tvinga vidhäftning till en kodningsformateringsstandard är lätt i kod:: block. Dess kodredigerare kommer att omformatera din kod för att passa vilken som helst önskad standard.
Koden:: Blockar källkod formateraren kommer inte att justera variabla namn. Ännu värre kommer det inte att röra din programlogik. Så om du skriver crummy-kod, skyll det inte på koden:: Blocks editor.
Välj Inställningar → Redaktör och välj sedan Källformat från listan som visas för att få ett fönster som ser ut som Figur 1. Förhandsgranskningsfönstret visar vad dina val kommer att se ut i praktiken. Det här exemplet följer ANSI-standarden, men du kan välja bland många andra vanliga standarder, eller du kan välja Anpassad och klicka sedan på fliken Indragning och formatering för att skapa din egen standard.
Figur 1: Att ställa in källkodsformatorn kan hjälpa dig att tillämpa en kodningsstil enhetligt.När du väl har valt en standard kommer redigeraren att försöka samla dig med att använda den här standarden. Om du till exempel anger om (sant) och sedan trycker på Enter, placerar redigeraren markören på den indragna platsen under om . Om du anger ett öppet fäste, redigerar redaktören dig, placerar fästet i linje med i i om , hoppa till nästa rad, och streck över.
Ännu bättre, när du har avslutat kodningen, om du väljer Plug In → Källkod Formaterare (AStyle), kommer redigeraren att gå igenom din modul och applicera om aktuell källkodsstandard. Så om din arbetskompis var inte så försiktig med sin programmering som du var, oroa dig inte - några få musklick och det är allt rengjort.
Kodförkortningar
Detta är ett konstigt alternativ. Om du kodar mycket (läs: mycket ! ) kan kodförkortningar spara tid, speciellt om du inte är en väldigt bra skrivare. Kodförkortningar gör det möjligt att skriva in ett kodord och sedan trycka på Ctrl + J och voila, kommer Kod:: Blocks editor att ange motsvarande fördefinierade mall som du fyller i.
Till exempel om du skulle skriva in > klass i en kopia av kod:: Blås och sedan in Ctrl + J, Kod:: Block skulle först fråga dig om namnet på din klass och sedan fyller i alla de saker som visas i Figur 2. < Figur 2: Med hjälp av källkodsförkortning kan du spara mycket tid om du kan komma ihåg att använda den! Kod:: Blås levereras med en uppsättning förkortningar som redan definierats, men du kan lägga till alla förkortningar du vill ha genom att välja Inställningar → Redaktör och sedan välja Förkortningar alternativet till vänster i fönstret.
Det bra med kodförkortning är att det kan spara mycket att skriva och automatiskt tillämpar källkodsformateringsstandarden som du väljer. Mycket snabb skrivare (eller skulle det vara keyboarder?) Kanske inte hämtar mycket av den här funktionen, men om du inte använder alla tio fingrarna när du skriver eller annars bara sakta på tangentbordet, vill du förmodligen försöka använda det här funktion.AutoComplete
Kod:: Block har denna coola funktion som heter AutoComplete. När du har skrivit in några lägsta antal bokstäver (standard är fyra, men du ändrar det), om du pausar i din skrivning, Kod:: Block kommer att leta efter alla saker som börjar med de bokstäverna.På så sätt kan kod:: Block kan förutse vad det är som du försöker säga.
Till exempel i programmet Budget5 som ingår i nedladdningsbart material från Dummies. com, om du anger
Acco
och pausar sedan bara en halv sekund (det är inte så länge!) då dyker ett fönster upp som visas i Figur 3 som erbjuder de enda två sakerna som Kod:: Blåsor vet om det här programmet som börjar med Acco: klassen Konto och typedef AccountPtr . Eftersom du menade Konto , kan du bara trycka på Enter och det fyller in det här för mig. Figur 3: Kod:: Block hittar endast två matchningar för Acco i det här programmet. Den första är det jag letade efter. I det här exemplet skapar du en pekare till ett
Kontokallat pAcc . När du skriver in pAcc -> och pausar sedan Kod:: Block öppnar ett fönster som visar de offentliga medlemmarna av Konto som visas i Figur 4. Figur 4: Med ett objekt, Kod:: Blokker kommer att hitta de offentliga medlemmarna tillgängliga från det objektet. Detta är en intressant funktion när du hänvisar till dina egna klasser. Mer än någonting innebär att välja från listan betyder att du inte skriver in funktionsnamnet fel eller felstavade.
Den här funktionen blir verkligen intressant när du anger ett objekt som definieras i ett bibliotek. Till exempel, om du angercout., kommer du att få en lista över de offentliga medlemmarna som är tillgängliga för objektet cout . Detta kan vara till stor hjälp när du inte har dokumentation eller du bara inte vet var du ska börja. Aktivera alla varningar Aktivera alla varningar är ingen brainer. Misstag som dyker upp vid kompileringstid är mycket lättare att hitta (duh!) Och fixa än de som du måste åka på dig själv vid körning. Det är därför C ++-syntaxen är så picky - det vill se till att du har kodat exakt vad du tänkte innan det går och skapar en körbar som gör något helt annat.
Det finns emellertid några saker, (en hel del saker, faktiskt) att GNU C ++-kompilatorn kommer att fixa och fortsätta utan kommentar, om du vill ha det. Det är till exempel inte ett fel att definiera en variabel i en funktion och använd aldrig den. Eller att sätta en avkastning i mitten av en funktion så att koderna efter avkastningen aldrig kan utföras. Det här är inte fel, men de ser mäktiga ud på en misstrogen kompilator.
GNU-kompilatorn kommer att generera en varning om den ser något av dessa två fall eller några av dussintals andra misstänkta konstruktioner i din kod. Du bör gå över varje varning för att se till att du förstår vad kompilatorn klagar på och varför. Försök att åtgärda problemet om du kan men förstår det även om du väljer att inte fixa det.
Varningar kommer att avslöja många misstag som kommer att bli buggar i dina program.
Skapa ett nytt byggmål
Koden:: Blocks miljö gör att du kan skapa mer än ett byggmål. Ett byggmål ger dig möjlighet att skapa en separat körbar med unika byggnadsinställningar.Till exempel skulle du definitivt vilja inkludera symbolinformation i det körbara som du använder för debug men inte i det du avser att skicka till kunder (se nedan för mer).
Du kan lätt skapa ett Debug-build-mål och ett Release-byggmål när du skapar projektet - låt guiden göra allt arbete för dig. Det händer emellertid mycket ofta att efter veckor av att arbeta på och felsöka ett projekt går du att släppa det bara för att finna att det inte finns något Release Build-mål. Oroa dig inte, du kan alltid skapa ett nytt byggmål på egen hand.
Om du vill skapa ett nytt byggmål väljer du Projekt → Egenskaper och väljer sedan fliken Bygg mål. Du kommer att se något som ser ut som Figur 5, som visar Budget5-programmet med ett enda Debug build-mål.
Figur 5: En av projektegenskaperna är listan över byggnadsmål.
Använd följande steg för att skapa ett uppbyggnadsmål:
Välj Debug-målet och klicka på Duplicera.Ange namnet på det nya byggnadsmålet, Släpp.
-
Ändra utdatafilenamn till binReleaseBudget5. exe och Objekt Output Directory till objRelease.
-
Klicka på Byggalternativ för att ange vilka byggalternativ du vill ha för det här målet och klicka på OK.
-
Du vill definitivt stänga av symbolinformation och aktivera optimering.
-
Klicka på OK för att spara det nya byggnadsmålet.
Om du vill bygga ett visst byggmål väljer du Bygg → Välj mål och väljer sedan bland tillgängliga mål. Detta leder Koden:: Blinkar vilken exekverbar du vill skapa när du väljer bygg.
-
Projekt - aktivera optimeringar
Du kanske tror att varje rad i C ++-koden genererar en uppsättning maskininstruktioner utan hänsyn till koden runt den och i ett optimerat läge skulle du ha rätt. Optimeraren som är inbyggd i GNU-kompilatorn kan generera ett effektivare program från din C ++-källa genom att titta över flera rader kod.
Tänk på följande triviala och fullständigt färdiga (men kloka) exempel:
// i ++; MOV EAX, jag [BP] INC EAX MOV i [BP], EAX // fn (i) MOV EAX, jag [BP] PUSH EAX CALL FN
Här linjen
i ++
omvandlades till tre rader maskinkod som följer: Ladda värdet på i
-
i EAX-registret. Öka EAX-registret. Spara det inkrementerade värdet tillbaka till
-
i
-
. Nästa rad omvandlar samtalet fn (i)
till följande. Ladda värdet på i
-
i EAX-registret. Tryck värdet på EAX på stapeln. Ringa samtalet.
-
Observera att steg 4 faktiskt är onödigt. Det finns ingen anledning att ladda värdet på
-
i
i EAX-registret eftersom värdet redan finns från steg 1, 2 och 3. Även en medioker optimizer skulle märka detta och inte generera det andra MOV EAX, jag [BP] . Det här är inte mycket av besparingar, men det här är ett lättförståeligt exempel, även om det inte är en så stor förbättring. Du skulle behöva vara en riktig whiz på monteringsspråk för att förstå de flesta optimeringar som GNU-kompilatorn gör. Du kan aktivera optimeringar för en viss byggnad genom att välja Projekt → Byggalternativ och sedan välja Release-byggnaden till vänster och välja ett av optimeringsalternativen.
Tekniskt finns det flera optimeringsalternativ eftersom optimeringsprogrammet kan ta mycket tid. Om du har ett mycket stort projekt är det inte så mycket att spendera mycket tid på att optimera en modul som inte kommer att utföras mycket ofta. För små till medelstora projekt, aktivera bara full optimering - du kommer inte att märka de extra några sekunder som krävs för att kompilera.
Du kan aktivera det här alternativet för alla byggnader genom att välja Inställningar → Kompilator, sedan välja fliken Kompilator och välja ett av optimera fallen. Det är dock inte så bra. Aktivera inte optimering i felsökningsutgåvan av projektet om du planerar att använda debuggern. Ändringarna i koden som optimeringsprogrammet utför gör att programmet verkar hoppa runt i en halv slumpmässig promenad när du försöker gå igenom den.
Projekt - inaktivera debugger-symbolerna
Symbolinformation ingår i körbaren endast för användning av debuggeren. Den här informationen bör inte inkluderas i den version som du skickar ut till användare: Det ökar storleken på körbarheten utan behov, och det är ännu värre att det släpper ut farlig information till hackare om man försöker hitta en sårbarhet i ditt program.
Om du vill inaktivera felsökningsinformation i fältet Utvecklingsbyggnad väljer du Projekt → Byggalternativ och väljer sedan Frigöringsmålet till vänster. Se nu till att alternativet Produce Debugging Symbols [-g] klickas av för Release-målet. (Nu är det bra att se till att samma alternativ klickas på för Debug-byggnadsmålet.)
Projekt - ange ett programs argument
Vissa program är avsedda att utföras med kommandoradsargument. Kod:: Block ger följande mekanism för att ge kommandoradsargument när du utför ett sådant program från koden:: Blockera miljö:
Välj projekt → Ange programmets argument.
Välj byggmål i det övre fönstret.
-
Ange vad du vill i fönstret Programargument.
-
Välj OK för att stänga fönstret.
-
När du anger Start eller Kör, Kod:: Block kommer att tillhandahålla dessa argument till ditt program.