Dit is een archief-pagina

Dit is een archief-pagina. Ik werk deze pagina niet meer actief bij.
Informatie kan verouderd zijn, en links lopen mogelijk dood.
Maar, misschien heeft iemand er nog wat aan.


'C'

'C'. Bekend als programmeertaal, maar als ik zo gek ben op Perl, waarom gebruik ik dan nog 'C' (en/of C++)? Wel, Perl is een mooie en krachtige taal, krachtiger dan C, vooral geschikt voor scripts en tekstbewerkingen. Helaas, de snelheid blijft echter achter bij C, juist vanwege de veelzijdigheid, en voor real-time spelletjes is het dus wat minder geschikt. Een mooie combinatie is om tijdrovende algoritmes in C te programmeren, en dan in te bouwen in Perl. Zie overigens ook mijn pagina over: wat is de beste programmeertaal.

Zoals op de computer-pagina al gezegd, werk ik niet mee aan illegaal gekopieerde software. Samen met een beperkt budget houdt dat dus ook in dat ik hier niet de Micro$oft compilers gebruik. Maar dat is dan ook nergens voor nodig. Juist op het gebied van C is er heel veel 'public domain' software, welke gratis te kopieren en gebruiken is. Qua compilers zijn met name de freeware/public domain 'GNU' GCC compilers bekend. Deze zijn in verschillende 'jasjes' verkrijgbaar, zowel voor Windows als voor het maken van 32-bit Dos programmas (en voor Linux, en .....).

Voor meer details heb ik de volgende 4 pagina's:

  • DJGPP logoC onder Windows: De (Nederlandstalige) Dev_C++ ontwikkelomgeving (editor, projectbeheer, compiler, debugger) werkend met de MingW versie van de GNU GCC compiler. Werkt samen met de Allegro Game library
  • C onder DOS, met behulp van de DJGPP port van GNU GCC. Maak 32-bit programma's, draaiend onder DOS! Werkt samen met Allegro.
  • CLWP: Co-operative Light-Weigth Processes (of eigenlijk threads) versie 1.3.
  • Allegro LogoAllegro, een prima game library, werkend onder de meeste C platforms (o.a. DOS/DJGPP, Windows, Linux, ....)
  • OpenGL, een prima 3D library voor het maken van bijvoorbeeld 3D games, werkend onder de meeste C platforms (o.a. DOS/DJGPP, Windows, Linux, ....)

Om C en C++ te leren zijn er heel wat boeken, maar ook op veel sites (zoals die van Dev-C++) zijn tutorials te vinden. Of probeer Programmers Heaven. Wel allemaal Engels.

Wil je weten of je programma correct is? Uiteraard is testen een manier om dat te bekijken, maar vaak zie je dan ook nog zaken over het hoofd. Compileer in ieder geval met alle waarschuwingen aan (bij GCC en Dev_C++: -Wall command line optie) en zorg dat alle waarschuwingen zijn verdwenen. Maar voor nog uitgebreidere tests: kijk eens naar 'Splint', een heel zorgvuldige checker (niet voor C++). En naar 'memwatch', welke je geheugenbeheer in de gaten houdt.

Wil je programma's maken die via een netwerk kunnen werken? Ik ben eens aan het kijken naar 'sockets', en heb daar ook twee libraries voor gevonden, bedoeld voor het maken van spelletjes en dergelijke. Een paar relevante links, als je ook die kant op wil:

  • WinSOCK FAQ voor programmers: examples,links, tutorials: alles wat je nodig hebt om te starten.
  • Updated sockets.com met informatie en introductie in Windows Sockets, zowel de oudere Winsock 1.1 als de nieuwere Winsock2.
  • De libnet library, portable sockets library voor Windows, DOS, Linux, etc
  • De Hawksoft Network Library portable sockets library die er iets degelijker uit ziet, maar op Windows ME heb ik problemen met het UDP protocol.
  • ZIG is een gratis, LGPL licensed, uitbreidbare client-server game network engine. Naast networking heeft het ook support voor features als logging, timing control (packet rates), auto downloading of game files etc. Maar het is alleen het networking gedeelte voor games: graphics, Audio etc moet je zelf verzorgen (b.v. met Allegro). Nog geen ervaring mee.

Ook op mijn spelletjes-pagina's heb ik nog wat programmeerhints staan, met name voor game programming. En kijk uiteraard op de Programming-links page!