Vertelhetsysteemdatjegebruik wilt maken van de GNU C compiler door hetintikken van hetvolgende
commando: echogcc >> ~/.pkgrc
Directories aanmaken: Maakeentoplevel directory aan
met de naam C, en subdirectories Opg0 tot
en met Opg4. Hetgebruiken
van een fileMakefile: Compileren van programma'swordt
heel eenvoudig door gebruiktemaken van eenmake-file .Hoe jedaarmeekuntwerken leer jestraks. Nueerst even deze Makefile gebruiken..
Zorgdatje in de directory C/Opg0
zit en kopieer de Makefile.
Die tekst van die file vindjehieronder. Edit: Je bent nuklaaromeenprogrammaatje
in tetikken,
tecompileren
en teexecuteren.
Gaweernaar de
directory C/Opg0 en maakeentekstfile (opgave0.c) met de volgendetekst: #include <stdio.h> int main(void) { printf("\tHello world!\n");
return(0); } We gaanhetprogrammaeerst
met de hand compileren: gcc
opgave0.c
<>Hierna is er, alshetgoed is, eena.out file gegenereerd. Jekuntdeze file executeren door hetvolgende in tetypen: ./a.out>
<>enuitvoer
die op jeschermverschijnt is watjeverwachtenmag: Hello world! > Jehebtnu op de meesteenvoudigemanier
met de hand gecompileerd: zonder compiler opties
en vertalendnaar
de default executable a.out. We kunnenhetcompileren met behulp
van command-line optiessturen: gcc –Wall –std=c99 –o opgave0 opgave0.c Dit commando compileert
met alle compiler waarschuwingenaan (-Wall), gebruikmakend
van de laatste C taalstandaard
(c99) en enresulteert in de executable opgave1. Jekuntdeze file executerendoor ./opgave1 in tetypen.
<>Het is echtermakkelijkeromeenzogenaamdeMakefiletegebruikenomtecompileren, waarmee de gehelecompilatie van b.v.
meerdere source files automatischverloopt.>
<>Staat de Makefilediejeuitdeze file hebtge-copied/paste
in dezelfde directory waarookjeopgave0.cstaat?>
Compile:make opgave0
De opdrachtmake opgave0controleertjeprogramma en alsalles in orde is wordtjeprogrammaookgecompileerd. Alsjegeenfoutenhebtgemaaktbijhetintikken van hetprogrammakomtnu de volgendeuitvoer
(of ietsdatdaarveel op lijkt) op jescherm gcc -Wall
-O -g -std=c99 –pedantic ... en die uitvoer kun jegewoonnegeren. Maarhetkanookzijndaterfoutmeldingenkomen
(er is daneenandereuitvoerdanhierbovenbeschreven) en
in datgevalmoetjeterugnaar de
editor om de tekstfileopgave0.ctecontroleren en ervoortezorgendat die exact hetzelfde
is alshierbovenafgedrukt. Alsalles in éénkeergoed is maakdaneensvrijwilligeenfoutomtekijkenwatergebeurtbijhetcompileren. Na compilatiekijkje even naar de inhoud van je directory. Alshetgoed is ziejestaan: opgave0opgave0.copgave0.o
Makefile Hetcommandemake “maakt” dusvoorjouopgave0. Execute: ./opgave0 en de uitvoer die op jeschermverschijnt
is wederom: Hello world! Jehebtjenuldeprogrammagecompileerd en geëxecuteerd. Mooi.