UML OG C (Åre edition) Flashcards
Systemspesifikasjon: Hva r forskjellen på essensiell logikk og teknologiavhengighet?
Essensiell logikk løser den egentlige oppgaven mens teknologiavhengig logikk trengs bare for å få det til å virke i praksis.
Hva menes med å spesifisere systemet?
Med å spesifisere systemet mener vi å bestemme klasser/moduler og tilordne dem oppgaver.
Systemspesifikasjon: Hvordan konstruerer man kommunikasjons grensesnitt?
Man konstruerer kommunikasjons grensesnitt ved å:
1. Definere en egen arkitektur.
- Detaljere kommunikasjonen mellom modulene i hvert scenario ved å innføre nødvendige funksjoner etc.
- Spørre: Er alle scenarioer realiserbare på en god måte?
JA = FERDIG
NED = Gå til punkt 1 og finn bedre arkitektur.
Hva er kokeboken for tilstandsmaskin konstruksjon?
Hvordan inkluderer man egne filer og systemfiler i C?
Hva er enum: enumerate?
Det er å lage en fortegnelse
Hva er switch syntaks?
Det er å legge til rette for flere forskjellige scenarioer
Hva er forskjellen på en lokal og en global variabel?
En lokal variabel er en variabel som blir laget, brukt og slettet inni en funksjonskall. En global vil fortsette å eksistere selv om en funksjon har kjørt ferdig.
Hva er en statisk variabel?
Det er en variabel som lever videre utenfor funksjonskall.
Eksempel på implemantasjon av klasse
I hvilken rekkefølge kjører verktøyene preprosessoren, lenking, kompilatoren og assembleren og hva gjør de?
Pre prosessoren
Gjennkjenner linjene som starter med #.
Kompilatoren
C-koden leses og oversettes til assembly-kode.
Assembleren
Assemblyfilen blir transformert til en objektfil, en binærfil som inneholder speiling av assemblykoden.
Lenking
Objektfilene lenkes sammen og lager et kjørbart program.
Hva er forskjellen på definisjoner og deklarasjoner?
Definisjoner gir opphav til noe i objektfilen og er unike. Dr er hva lenkeren trenger for å lenke referanser osv.
Deklarasjoner kan forekomme flere ganger i løpet av et program og er ikke unike. Kompilatoren trenger dem for å forstå referanser.
Hva gjør static på en variabel inne i en funksjon?
Variabelen vil beholde sin verdi i kallene i funksjonen.
Hva gjør static på en global variabel/funsksjon?
Variabelen/funksjonen kan brukes globalt og beholde sin verdi. I en modul kan den brukes innad og ikke eksporteres fra objektfilen.
Hva er en Segmentation fault?
Det er en feilmelding fra harware pga. minnebeskyttelse. Minne som “tilhører noen andre” blir forsøkt benyttet. Typisk grunn er feil bruk av pekere.