Programmeren - C programma vertalen onder MS-Windows


Algemeen
  • Zorg dat je homedirectory op solost.science.ru.nl vanuit Windows File Explorer beschikbaar is. Bij gebruik van de PC's in terminalkamers van de faculteit zal dat je H:-disk zijn.
  • Maak voor iedere opdracht een aparte subdirectory aan op je eigen homedirectory, eventueel onder een directory programmeren.
  • Plaats hierin de sourcefile met extensie .c om aan te geven dat het om een C-programma gaat.
    Let op: Als je extensie .cpp gebruikt, zal het programma als een C++ programma geïnterpreteerd worden en zal de verkeerde compiler zal worden aangeroepen. Hierdoor ontstaan er veelal onbegrijpelijke foutmeldingen.
  • We maken nu gebruik van het programma "devcpp". Dit is te vinden op de software disk (S:) in directory S:\Dev-Cpp onder naam S:\Dev-Cpp\devcpp.exe .
  • Na opstarten van devcpp heb je een MS-Windows werkomgeving van waaruit je je programma kunt editen, compileren, runnen en zelfs debuggen.
Tips

Omdat je tijdens het practicum devcpp vaak zult gebruiken, is het handig een link naar het programma op je desktop te zettten. Dit doe je als volgt:

  • Ga met explorer (of via My Computer) naar directory S:\Dev-Cpp.
  • Klik op devcpp.exe en sleep met de rechter muiskop ingedrukt devcpp.exe naar je desktop.
  • Na loslaten van de rechter muisknop wordt een keuzebox geopend: kies "Create Shortcut here". Er verschijnt vervolgens een icoon op je desktop, waarmee je devcpp.exe eenvoudig vanaf de desktop op kunt starten.

Pas eventueel de default directories voor devcpp.exe aan:

  • Start devcpp.exe
  • Ga naar Tools->Environmental Options->Files & Directories
  • Verander User's Default Directory in de directory op je H:-disk waar je je programma's neerzet.
Aanmaken van een nieuw project met devcpp

In devcpp wordt met "projecten" gewerkt. Het is handig om een opdracht in een apart project onder te brengen.

  • File->New Project->Empty Project
  • Kies een naam voor het project en save het in de directory op de H:-disk.
    Let hierbij op dat je dit project saved via MyComputer->H:. Doe dit niet via de "My Documents" directory. Doe je dit laatste wel, dan treden er onbegrijpelijke foutmeldingen op tijdens het compileren van je programma (e.e.a. hangt samen met de wijze waarop de mapping van directories en drives in MS-Windows plaatsvindt).
  • Klik nu met de rechter muisknop op het icoon voor project in de tab "Project" en "Add to project" voor een reeds bestaand .c programma of "New file" in het andere geval. Gebruik ook hier de route via MyComputer->H: .
  • Je kunt nu je programma bewerken, compileren en runnen vanuit de devccp-omgeving
  • Vergeet niet de files te saven!
  • Voor het gebruik van OpenGL en GLUT dien je de regel
      -lglut32 -lglu32 -lopengl32 -lwinmm -lgdi32
    toe te voegen aan:
      Project->Project Options->Parameters->Linker
Installatie van devcpp op je eigen PC/laptop

Wil je voor thuisgebruik devcpp op je eigen PC of laptop zetten dan kun je het eenvoudigst alle files en sub-directories uit S:\Dev-Cpp naar je eigen PC of laptop kopiëren. Ook de grafische toepassingen die gebruik maken van OpenGL en glut zullen dan goed gecompileerd worden en onder MS-Windows werken.

  • Heb je Windows Vista dan is bovenstaande niet genoeg!
    Voer de volgende handelingen en settings uit:
    • Bij "Tools" klik je op "Compiler options" en dan ga je naar het tabblad "Programma's".
    • Vervang alle bestandsnamen van de bestanden in de lijst door het volledige adres van die bestanden. Ze staan allemaal in de map "bin" in de map van devcpp. Je moet dan bijvoorbeeld gcc.exe vervangen door D:\Dev-Cpp\bin\gcc.exe .
    • Ga daarna naar het tabblad "Directories" en daaronder naar "Binaries". Voeg daar de map D:\Dev-Cpp\Dev-Cpp\libexec\gcc\mingw32\3.4.2 toe (het bestandspad kan verschillen, je moet even zoeken waar mingw32\3.4.2 staat en het bestandspad daarvan kopieren en plakken.
    • Alles werkt nu op magische wijze!
    Met dank aan Martijn Jongen voor het oplossen van het Vista probleem.

  • Ontbreekt de "glut"-bibliotheek nog, dan kan dat als volgt opgelost worden:
    • Ga naar "Tools > Check for Updates/Packages". Nu krijg je de update manager.
    • Klik onder "Select devpack server" en kies "devpacks.org community devpacks".
    • Klik "check for updates" en wacht tot alle beschikbare updates opgehaald zijn. Kijk nu de lijst door totdat je een update vindt genaamd "glut" selecteer deze en klik "Download selected". Nu krijg je een installatieschermpje waar je enkel installeren hoeft te klikken.
    Met dank aan Herre Groen.

Debuggen

Het kan gebeuren dat je programma een zodanige fout heeft, dat het tijdens executie crasht. Vaak gebeurt dit bij pogingen van je programma om te lezen of te schrijven op geheugenplaatsen die niet toegankelijk zijn; bijvoorbeeld door een verkeerde definitie, ongedefinieerde array parameters of het overschrijden van array limieten. Een voorbeeldprogramma kun je hier downloaden.

Als een MS-Windows programma crasht, wordt het window waarin het programma uitgevoerd wordt direct gesloten, waardoor je niets meer "ziet". Een oplossing hiervoor is om in de testfase het programma vanuit de "command shell" uit te voeren:

  • Open de "command shell" met start->run en type in cmd .
  • Ga naar de disk en de directory waar je programma files staan:
    • H:
    • cd programmeren\xxx
  • Voer het (reeds) gecompileerde en gelinkte programma uit dat je aan het testen bent (het .exe bestand) en probeer het probleem op te lossen.

11 juni 2008