Innholdsfortegnelse:
- Bruk kategorien Tabell
- Syntax utheving
- Kildekodeformatter
- Kodeforkortelser
- For eksempel i Budget5-programmet som følger med nedlastbart materiale fra Dummies. com, hvis du skriver inn
- Det er imidlertid et par ting, (ganske mange ting, faktisk) at GNU C ++-kompilatoren vil fikse og fortsette uten kommentar, hvis du vil ha det. For eksempel er det ikke en feil å definere en variabel i en funksjon, og bruk aldri den. Eller å sette en retur midt i en funksjon slik at kodelinjene etter retur kan aldri bli utført. Dette er ikke feil, men de ser veldig merkelig ut til en misforstått kompilator.
- Du kan lett opprette et Debug Build-mål og et Release Build-mål når du oppretter prosjektet - la veiviseren gjøre alt arbeidet for deg. Det skjer imidlertid veldig ofte at etter uker med å jobbe med og feilsøke et prosjekt, går du for å slippe det bare for å finne ut at det ikke er noe Release Build-mål. Ikke bekymre deg, du kan alltid lage et nytt byggemål på egen hånd.
- Vurder følgende trivielle og fullstendig oppbygd (men smart) eksempel:
- Hvis du vil deaktivere feilsøkingsinformasjon i Opprett byggemålet, velger du Prosjekt → Byggalternativer, og velger deretter Utgivelsesmålet til venstre. Nå sørg for at alternativet Produce Debugging Symbols [-g] er klikket av for Release-målet. (Nå er det en god tid å forsikre deg om at dette samme alternativet klikkes på for Debug-byggemålet.)
- Velg prosjekt → Angi programmer 'Argumenter.
Video: Chapter 9, part 2: Web 2025
Kode:: Blokker kommer med standardinnstillinger som er mest naturlige for de fleste C ++-programmer; Men når du begynner å bruke mer og mer tid i miljøet, kan du finne den Koden:: Blokker kan være et vennligere sted med bare noen få tweaks.
Bruk kategorien Tabell
Eller bruk ikke spesielt kategorien Tegn. Denne innstillingen gjør ingen forskjell hvis du jobber med et prosjekt der alle alltid vil bruke kode:: Blokker. Problemet med tabulatortegn er imidlertid at forskjellige redaktører har en tendens til å tolke kategoriene annerledes. Noen redaktører beveger markøren til neste tabulatorstopp, noen redaktører beveger markøren over noen antall tegn, og ikke alle redaktører er enige om hvor mange tegn som skal tilordnes for en kategori. Heldigvis tolker alle redaktører det samme, så det er mye tryggere å fortelle koden:: Blokkeringsredaktør for å alltid bruke mellomrom og aldri lagre faner i kildefilene. For å gjøre det, velg Innstillinger → Redigerer. Velg nå Generelle innstillinger til venstre og sørg for at Bruk TAB-tegn ikke er merket.
Syntax utheving
Syntax utheving endrer fargene til forskjellige typer strukturer, bruker en farge for søkeord, en annen farge for variable navn, en tredjedel for tegnstrenger og så videre. Dette er veldig nyttig for å unngå dumme feil mens du skriver. Hvis du for eksempel støtter et søkeord, vil det ikke vises i søkeordets farge. For å aktivere denne funksjonen, velg Innstillinger → Redigerer → Syntaksutheving. Normalt kode:: Blokker kan fortelle språket fra utvidelsen av filnavnet. Hvis du bruker en filtype uten filtype, må du legge den til i listen ved å velge Filemasks. I tillegg kan du justere syntaxuthevingsalternativene fra dette vinduet for å bedre passe dine behov. Dette er spesielt viktig hvis du har noen form for synproblemer, spesielt noen form for fargeblindhet.
Kildekodeformatter
Dette kan være gammeldags, men en god programmør bør vise litt stolthet i utseendet på koden hans. Dette krever etablering og jevn overholdelse av en kodingsstandard. Enda mer enn det, når man jobber på et stort lag, bør alle bruke samme kodingsstandard. Ellers ser koden rotete ut, da moduler skrevet av en person har et utseende, mens de som er skrevet av en lagkamerat, har et annet utseende - veldig uprofesjonelt.
Tvinge overholdelse av en kodingsformateringsstandard er lett i Kode:: Blokker. Kodeditoren vil omformatere koden din slik at den passer til ønsket standard.
Koden:: Blokker kildekoden formattering vil ikke justere variable navn. Enda verre, det vil ikke berøre programlogikken din. Så hvis du skriver crummy kode, ikke klandre det på koden:: Blokker editor.
Velg Innstillinger → Rediger, og velg deretter Kildeformater fra listen som ser ut til å få et vindu som ligner Figur 1. Forhåndsvisning-vinduet viser deg hva dine valg vil se ut i praksis. Dette eksemplet følger ANSI-standarden, men du kan velge blant mange andre vanlige standarder, eller du kan velge Egendefinert og deretter klikke på Inndeling og Formatering-fanene for å lage din egen standard.
Når du har valgt en standard, vil redaktøren forsøke å coax deg til å bruke denne standarden. Hvis du for eksempel angir hvis (sann) og deretter trykker Enter, plasserer redigereren markøren på den innrykkede plasseringen under hvis . Hvis du deretter legger inn en åpen brace, vil redaktøren sikkerhetskopiere deg, plassere braceen på linje med i i hvis , hopper til neste linje, og strekk over.
Enda bedre, når du er ferdig med koding, velger du Plug In → Kildekodeformatter (AStyle), vil redaktøren gå gjennom modulen din og gjenta den gjeldende kildekoden. Så hvis din arbeidskompis var ikke så forsiktig med programmeringen som du var, ikke å bekymre deg - noen få museklikk, og det er alt ryddet opp.
Kodeforkortelser
Dette er et merkelig alternativ. Hvis du kodes mye (les: mye ! ), kan kodeforkortelser spare tid, spesielt hvis du ikke er en veldig god maskinist. Kodeforkortelser lar deg skrive inn et kodeord og deretter trykke Ctrl + J og Voila, Koden:: Blokker editor vil skrive inn den tilsvarende forhåndsdefinerte malen du deretter fyller inn.
For eksempel, hvis du skulle skrive inn > klasse i en kopi av kode:: Blokkerer og deretter angitt Ctrl + J, Kode:: Blokkene vil først spørre deg om navnet på klassen din og så fyller du ut alt det som er vist i figur 2. < Figur 2: Ved å bruke kildekoden forkorting kan du spare mye tid hvis du kan huske å bruke den! Kode:: Blokker leveres med et sett av forkortelser som allerede er definert, men du kan legge til alle forkortelsene du vil ha ved å velge Innstillinger → Rediger og deretter velge Forkortelser på venstre side av vinduet.
AutoComplete
Kode:: Blokker har denne kule funksjonen kalt AutoComplete. Etter at du har skrevet inn noen minste antall bokstaver (standard er fire, men du endrer det), hvis du pause i skrivingen din, Kode:: Blokker vil se etter alle de tingene som begynner med bokstavene.På denne måten Kode:: Blokker kan forutse hva det er som du prøver å si.
For eksempel i Budget5-programmet som følger med nedlastbart materiale fra Dummies. com, hvis du skriver inn
Acco
og deretter pause bare et halvt sekund (det er ikke veldig lenge!), et vindu dukker opp som vist i Figur 3 som tilbyr de to eneste tingene som Kode:: Blokker vet om i dette programmet som starter med Acco: klassen Konto og typedef AccountPtr . Siden du mente Konto , , kan du bare trykke Enter og det vil fylle ut dette for meg. Figur 3: Kode:: Blokker finner bare to kamper for Acco i dette programmet. Den første er det jeg lette etter. I dette eksemplet lager du en peker til en
kalt pAcc . Når du skriver inn pAcc -> og deretter pause, Kode:: Blokker åpner et vindu som viser de offentlige medlemmene av Konto som vist på figur 4. Figur 4: Gitt et objekt, Kode:: Blokker vil finne de offentlige medlemmene tilgjengelige fra objektet. Dette er en interessant funksjon når du refererer til dine egne klasser. Mer enn noe betyr det at du velger fra listen, ikke skriver inn funksjonsnavnet feil eller feilstavet.
cout., får du en liste over de offentlige medlemmene som er tilgjengelige for cout objektet. Dette kan være veldig nyttig når du ikke har dokumentasjon eller du bare ikke vet hvor du skal begynne. Aktiver alle advarsler Aktivering av alle advarsler er en no brainer. Feil som dukker opp på kompileringstid, er mye lettere å finne (duh!) Og fikse enn de som du må jakte på deg selv på løpstid. Det er derfor C + + -syntaxen er så kresen - det vil være sikker på at du har kodet nøyaktig hva du tenkte før den går ut og lager en kjørbar som gjør noe helt annet.
Det er imidlertid et par ting, (ganske mange ting, faktisk) at GNU C ++-kompilatoren vil fikse og fortsette uten kommentar, hvis du vil ha det. For eksempel er det ikke en feil å definere en variabel i en funksjon, og bruk aldri den. Eller å sette en retur midt i en funksjon slik at kodelinjene etter retur kan aldri bli utført. Dette er ikke feil, men de ser veldig merkelig ut til en misforstått kompilator.
GNU-kompilatoren vil generere en advarsel hvis den ser noen av disse to sakene eller noen av dusinvis av andre mistenkelige konstruksjoner i koden din. Du bør gå over hver advarsel for å forsikre deg om at du forstår hva kompilatoren klager over og hvorfor. Prøv å fikse problemet hvis du kan, men forstå det selv om du velger å ikke fikse det.
Advarsler vil avdekke mange feil som kommer til å bli feil i programmene dine.
Opprette et nytt byggemål
Koden:: Blokker miljø gir deg mulighet til å opprette mer enn ett byggemål. Et byggemål gir deg mulighet til å lage en egen kjørbar med unike bygginnstillinger.For eksempel vil du definitivt inkludere symbolinformasjon i kjørbarheten du bruker for feilsøking, men ikke i den du planlegger å sende til kunder (se nedenfor for mer).
Du kan lett opprette et Debug Build-mål og et Release Build-mål når du oppretter prosjektet - la veiviseren gjøre alt arbeidet for deg. Det skjer imidlertid veldig ofte at etter uker med å jobbe med og feilsøke et prosjekt, går du for å slippe det bare for å finne ut at det ikke er noe Release Build-mål. Ikke bekymre deg, du kan alltid lage et nytt byggemål på egen hånd.
Hvis du vil opprette et nytt byggemål, velger du Prosjekt → Egenskaper, og deretter velger du Bygg mål. Du vil se noe som ser ut som Figur 5, som viser Budget5-programmet med et enkelt Debug build-mål.
Figur 5: En av prosjektegenskapene er listen over byggmål.
Bruk følgende fremgangsmåte for å opprette et Utviklingsbygg-mål:
Skriv inn navnet på det nye bygge målet, Release.
-
Endre utdatafilenavnet til binReleaseBudget5. exe og Objects Output Directory til objRelease.
-
Klikk på Byggalternativer for å angi hvilke byggealternativer du vil ha for dette bestemte målet, og klikk OK.
-
Du vil definitivt slå av symbolinformasjon og slå på optimalisering.
-
Klikk på OK for å lagre det nye byggemålet.
For å bygge et bestemt byggemål velger du Bygg → Velg mål, og velg deretter fra de tilgjengelige målene. Dette leder kode:: Blokkerer hvilken kjørbar du vil opprette når du velger bygg.
-
Prosjekt - aktiver optimaliseringer
Du tror kanskje at hver linje i C ++-koden genererer et sett med maskininstruksjoner uten hensyn til kodelinjene rundt det, og i ikke-optimalisert modus ville du ha det riktig. Optimeringsprogrammet som er innebygd i GNU-kompilatoren, kan generere et mer effektivt program fra C ++-kilden din ved å se på flere linjer med kode.
Vurder følgende trivielle og fullstendig oppbygd (men smart) eksempel:
// i ++; MOV EAX, jeg [BP] INC EAX MOV i [BP], EAX // fn (i) MOV EAX, jeg [BP] PUSH EAX CALL FN
Her ble linjen
i ++
konvertert til tre linjer maskinkode som følger: Legg verdien på i
-
i EAX-registeret. Øk EAX-registeret. Lagre den økte verdien tilbake til
-
i
-
. Neste linje konverterer anropet fn (i)
til følgende. Legg verdien på i
-
i EAX-registeret. Trykk verdien på EAX på stakken. Gjør anropet.
-
Legg merke til at trinn 4 faktisk er unødvendig. Det er ikke nødvendig å laste verdien av
-
i
i EAX-registeret fordi verdien allerede er der fra trinn 1, 2 og 3. Selv en middelmådig optimaliserer vil merke dette og ikke generere det andre MOV EAX, jeg [BP] . Dette er ikke mye av en besparelse, men dette eksemplet er lett å forstå, selv om det ikke er så stor forbedring. Du må være en ekte whiz på monteringsspråk for å forstå de fleste optimaliseringene som GNU-kompilatoren gjør. Du kan aktivere optimaliseringer for en bestemt bygning ved å velge Prosjekt → Byggalternativer, og deretter velge Utgivelsesbygningen til venstre og velge ett av optimaliseringsalternativene.
Teknisk er det flere optimaliseringsalternativer fordi optimaliseringen kan ta mye tid. Hvis du har et veldig stort prosjekt, er det ikke mye poeng i å bruke mye tid på å optimalisere en modul som ikke vil bli utført veldig ofte. For små og mellomstore prosjekter, bare aktiver full optimalisering - du vil ikke legge merke til de ekstra få sekunder det tar å kompilere.
Du kan aktivere dette valget for alle bygninger ved å velge Innstillinger → Kompilator, deretter velge fanen Kompilator og velge en av Optimaliser tilfellene; Dette er imidlertid ikke en god ide. Ikke aktiver optimalisering i Debug-utgivelsen av prosjektet hvis du planlegger å bruke debuggeren. Endringene i koden som optimalisereren utfører vil få programmet til å hoppe rundt i en semi-tilfeldig spasertur når du prøver å gå gjennom den.
Prosjekt - deaktiver feilsøkingssymbolene
Symbolinformasjon er inkludert i kjørbarheten bare for bruk av feilsøkingsprogrammet. Denne informasjonen bør ikke inkluderes i den versjonen du sender ut til brukere: Det øker størrelsen på kjørbarheten unødvendig, og enda verre, den gir ut farlig informasjon til hackere hvis man skal prøve å finne et sikkerhetsproblem i programmet.
Hvis du vil deaktivere feilsøkingsinformasjon i Opprett byggemålet, velger du Prosjekt → Byggalternativer, og velger deretter Utgivelsesmålet til venstre. Nå sørg for at alternativet Produce Debugging Symbols [-g] er klikket av for Release-målet. (Nå er det en god tid å forsikre deg om at dette samme alternativet klikkes på for Debug-byggemålet.)
Prosjekt - Angi et programs argumenter
Noen programmer skal utføres med kommandolinjeparametere. Kode:: Blokker gir følgende mekanisme for å gi kommandolinjeparametre når du kjører et slikt program fra Koden:: Blokker miljø:
Velg prosjekt → Angi programmer 'Argumenter.
Velg byggemål i øvre vindu.
-
Skriv inn hva du vil i vinduet Programargumenter.
-
Velg OK for å lukke vinduet.
-
Når du skriver inn Start eller Kjør, Kode:: Blokker vil levere disse argumentene til programmet ditt.
