Index over opgaver i denne lektion   Alfabetisk indeks   Kursets hjemmeside   

Opgaver
Kursusintroduktion


1.1   Installation af Emacs teksteditoren på Windows  

I dette kursus anbefaler vi en meget basal tilgang til udvikling af C programmer. Vi skriver bl.a. programmerne i en teksteditor (fordi et program er et stykke tekst).

Der er mange forskellige teksteditorer. Og mulighederne varierer naturligvis fra platform til platform (Windows/Linux/Mac). Hvis du allerede er godt i gang med en teksteditor, så brug blot denne til C programmering. Hvis ikke, kan du overveje at bruge GNU Emacs. Jeg er selv daglig bruger af GNU Emacs.

Denne opgave er kun relevant hvis du kører Windows, og hvis du ønsker at bruge GNU Emacs som din teksteditor.

Hvordan man downloader GNU Emacs på Windows - se også den tilhørende video:

Der findes en video Kom godt i gang med Emacs som du måske vil have gavn af at se nu - eller om et par dage. Hvis du ser og forstår denne video, er du rigtig godt på vej!

Overvej at sætte dette bidrag ind i din .emacs fil. (Som beskrevet skal du tilpasse den lidt). .emacs filen diskuteres i videoen.

 


1.2   Windows: Installation af MinGW GCC compiler  

I dette kursus anbefaler vi at du oversætter C programmer ved eksplicit at kalde en C compiler fra en kommando prompt (shell).

Vi anbefaler gcc (Gnu compiler collection) med MinGW (Minimalist GNU for Windows), som tillader udvikling native MS-Windows applikationer.

Bemærk at denne opgave er kun relevant hvis du kører Windows, og hvis du ønsker at bruge gcc under MinGW. Hvis du kører Linux har du sikkert allerede gcc på din computer. Hvis du har en Mac henvises du til en anden opgave.

Der findes en video, som viser hvordan installationsprocessen i denne opgave forløber. Følg evt. denne video sammen med denne opgave, mens du installerer MinGW gcc.

For at fuldføre opgaven skal du have adgang til en teksteditor. Brug gerne din favorit teksteditor. Overvej alternativt om du ønsker at downloade Emacs teksteditoren før du går videre.

Følg denne vejledning for at installere MinGW på Windows:

Hvis du starter terminal vinduet (via msys.bat) og hvis du skriver gcc --version får du oplysninger om versionsnummeret af gcc. I august 2017 er den nyeste version af gcc i MinGW 6.3.0.

Nu har du installeret systemet. Følgende laver en lille nyttig tilpasning.

Med denne tilpasning vil din MinGW terminal på bekvem måde starte op i kataloget c:/users/peter18/c/ hver gang du bruger den, og du vil få en prompt der blot består af et dollar tegn.

Du har også mulighed for at tilføje MinGW til din Windows PATH. Måske vil dette være nødvendigt på nogle nogle maskiner. Udfør kun dette skridt hvis du får problemer. Og vær forsigtig her!

Hvis du ændrer din Windows PATH som beskrevet ovenfor, kan du også aktivere gcc fra en Windows prompt.

Brug nu gcc i en MinGW shell på følgende måde - ved at aktivere den shortcut som du har lavet ovenfor:


 


1.3   Windows: Alternativ installation af MinGW GCC compiler - Mingw-w64  

Dette er et alternativ til MingW installationen i en anden opgave: MinGW-W64. Opgaven er kun relevant hvis du kører Windows. Denne installation leder udelukkende frem til aktivering af C-compileren fra en Windows command prompt. (C-compileren i den anden opgave kan både aktiveres fra en Windows command prompt, og fra en Linux-agtig command prompt).

Brug evt. det direkte download link, for at få fat i det lille installer program.

Følg iøvrig de lette anvisninger i denne video. Videoen er lavet for et par år siden, så versionen af MinGW-w64 har givetvis ændret sig lidt. Men det er kun fint.

 


1.4   Mac OS X: Installation of GCC  

Hvis du gennemgår denne opgave kommer du godt i gang med gcc fra en command prompt på en Mac

I dette kursus anbefaler vi at du oversætter C programmer ved eksplicit at kalde en C compiler fra en kommando prompt (shell).

Vi anbefaler at Mac OS X brugere installerer programmerne GCC (Gnu compiler collection) og GDB gennem pakkehåndteringsystemet Homebrew. Homebrew er et pakkehåndteringsystem til Mac OS X der automatisere installationen af mange forskellige programmer, her i blandt GCC og GBD. Du kan læse mere om Homebrew på hjemmesiden http://brew.sh/.

Bemærk at denne opgave kun er relevant hvis du kører Mac OS X 10.6 eller nyere, og du ønsker at installere GCC og GDB gennem pakkehåndteringsystemet Homebrew.

Der er lavet en video (uden lydspor) der viser installationen.

Først installeres Homebrew på Mac OS X:

  1. Åben programmet Terminal, det kan ligger under Applications -> Utilities -> Terminal
  2. Kopier den følgende kommando fra http://brew.sh/ over i Terminal vinduet og afslut med enter:
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  3. Du vil nu bliver informeret om at xcrun behøver Command Line Developer Tools, til dette klikker du Install og dernæst Agree
  4. Når installationen er færdig klikker du Done og vinduet lukkes.
  5. Herefter fortsætter du installation af Homebrew ved at trykke enter i Terminal vinduet, og dernæst indtaste dit kodeord efterfulgt af enter.
  6. Når installationen melder Installation Succesful! er Homebrew installeret og du kan gå videre til installationen af GCC og GDB.

Derefter installer GCC og GDB gennem Homebrew på Mac OS X:

  1. Åben programmet Terminal, det kan ligger under Applications -> Utilities -> Terminal
  2. Kopier den følgende kommando over i Terminal vinduet og afslut med enter: brew tap homebrew/dupes
  3. Kopier den følgende kommando over i Terminal vinduet og afslut med enter: brew install gcc gdb
  4. GCC og GDB kan herefter køres i Terminal vinduet med kommandoerne gcc-versionummeret, hvilket på nuværende tidspunkt er gcc-5, og gdb

NOTE 1: På Mac OS X skal GDB køres med ekstra rettigheder, dette gøres med kommandoen sudo gdb.

NOTE 2: Kommandoen gcc i de nyeste udgaver af Mac OS X starter ikke GCC men derimod programmet Clang, der er en alternativ C compiler til GCC. Du kan se hvilken af de to programmer der blive kaldt på dit system med kommandoen gcc -v der printer versions information i Terminal vinduet.

Tak til Søren Kejser Jensen for formuleringen af denne opgave.

 


1.5   Installation af Cygwin GCC compiler  

Bemærk at dette IKKE er den anbefalede C installation i efteråret 2017, eller senere. Se i stedet for en anden opgave.

I dette kursus anbefaler vi at du oversætter C programmer ved eksplicit at kalde en C compiler fra en kommando prompt (shell).

Denne opgave er kun relevant hvis du kører Windows, og hvis du ønsker at bruge gcc (GNU C Compileren) under Cygwin.

Cygwin etablerer en Unix/Posix omgivelse på Windows, og gcc på Cygwin laver programmer som kræver tilstedeværelsen af Cygwin (særlige cygwin DLL filer) for at kunne køre. I modsætning til dette skaber MinGW programmer, som er tættere på Windows (og uafhængig af særlige DLL filer).

Følg denne vejledning for at installere Cygwin på Windows - se også den tilhørende video (som vil blive opdateret i 2013)

Hvis du har lavet en eller anden fejl i din Cygwin installation kan du på ethvert tidspunkt køre installationsprogrammet igen, og ændre på din opsætning.

Afprøv nu dit setup:

 


1.6   Programmeringsstil  

Denne opgave handler om hvordan et C program 'ser ud'. Opgaven giver dig indsigt i programmeringsstil, og den træner dig i brug af din valgte teksteditor og C-compiler.

Se indledningsvist på 'Hello World' programmerne på på denne slide. Læs kommentaren øverst i hvert program. Oversæt og kør programmerne (hvis det giver mening).

Et C program kan formateres på mange forskellige måder. Indrykning, tomme linier og ekstra mellemrum kan relativt frit tilføjes i ethvert C program. En bestemt programmeringsstil (programming style, coding style) giver anvisninger på, hvordan et program skal formateres. Dårlig og inkonsistent programmeringsstil hæmmer læsbarheden af et program. Formålet med denne opgave er at skabe bevidsthed om programmeringsstil. Emnet vil blive bragt op gentagne gange undervejs i kurset. Så hvorfor ikke starte allerede i dag?

Her er et eksempel på et program, som er formateret på en overordentlig uheldig måde:

#include              <stdio.h>  

int    main(
void
)
{float
first_number   ,
xxx, sidsteTal

;

  printf(
"Give me three: "    )

;scanf("%f    %f             %f"
,
&first_number,      &   xxx,    &
           sidsteTal);   printf(
"Theresult: %f\n", (first_number+xxx     +
sidsteTal                  ) / 3.0)

;  return 0
;}

Kan programmet oversættes? (Kopier det fra browseren over i en tekstfil via din teksteditor, og forsøg at oversætte programmet). Kan det køres?

Diskuterer svaghederne i det viste program. Kan du/I forstå hvad der sker i programmet?

Introducer en bedre programmeringsstil i programmet, ved udelukkende at ændre på 'white spacing' (indrykning, tomme linier, og antallet af mellemrum mellem programmets dele). Dette er en god øvelse, idet den tvinger jer til at tage stilling til rollen af hvert symbol I møder, uafhængig af hvordan symbolet indgår i opstillingen af programmet. Compileren arbejder på samme måde - i det mindste i udgangspunktet.

Lav evt. en version af programmet, som giver endnu større læsbarhed ved f.eks. at ændre på variabelnavngivning. Du må også gerne ændre på promten og øvrige udskrifter i programmet.

Der er mange ressourcer af programmeringsstil (i C) på nettet. Læs indledningsvis Wikipedia's artikel om emnet.

 


1.7   Kopier, editer, compiler og kør et program  

Formålet med denne opgave er at øve dig i arbejdsprocesserne på tværs af en teksteditor, en shell terminal, og en compiler.

Kopier først et program fra undervisningsmaterialet ind i din teksteditor. Du kan passende kopiere programmet som vises øverst i lektion 2 slide 23.

Lav en simpel ændring af programmet: Oversæt f.eks. den fast engelske tekst i printf til dansk.

Lav så et nyt directory (katalog/mappe) fra din terminal med navnet c-programmer. Brug kommandoen mkdir til dette. Dette nye directory kan passende placeres i dit bruger directory på din PC. Se meget gerne på de forskellige terminalkommandoer.

Gem programmet, som du har i din teksteditor, på filen prog.c i det nye directory c-programmer.

Gå ind i c-programmer med cd kommandoen, og oversæt programmet med gcc. Brug -ansi -pedantic og -Wall options, som beskrevet på compiler sliden.

Kør programmet, typisk med a.exe.

 


Genereret: Tirsdag 30. oktober 2018, 09:20:12