Programmering i C og C++ på Undervisningsanlegget

Om du er interessert i programmering i språkene C eller C++, har Linux-maskinene på UA verktøyene du trenger. Her presenterer vi disse kjapt slik at du kommer i gang, men dette er ikke ment å være et programmeringskurs.

Editor

For å skrive programmene kan du velge mellom flere velegnede editorer: * Emacs (startes med kommandoen 'emacs') * !XEmacs (startes med kommandoen 'xemacs') * vim (startes i et terminalvindu med kommandoen 'vim', eller i et eget pent vindu med kommandoen 'gvim') * !KDevelop (startes med kommandoen 'kdevelop') Hva som er best er personlig - prøv alle!

Kompilator

På Linux er det GNU Compiler Collection (gcc) som gjelder. Denne kan blant annet kompilere C og C++. La oss gjøre et lite klassisk eksperiment. Opprett filen 'main.c', og skriv et velkjent program i den:
#include <stdio.h>
int main() {
  printf("Hei, verden!\n");
}
Nå kan du kompilere den:
gcc -o main main.c
Argumentet etter -o bestemmer navnet på den kjørbare filen som blir laget, så du skal nå ha en fil 'main' som du kan kjøre med './main'.

Dokumentasjon

Du er kanskje vant til Javadoc, som gir god og rask oversikt over klassebiblioteket til Java. Noe tilsvarende for C og C++ finnes ikke (jo, man har Doxygen; libstdc++ bruker dette), men her er en oversikt over greie kilder til funksjonsdokumentasjon for disse språkene: * man-sider. Skriv f.eks. 'man 3 printf' for dokumentasjonen til funksjonen 'printf'. * Glibc-dokumentasjonen på http://www.gnu.org/software/libc/manual/ (dekker mange av de mest brukte generelle funksjonene i C) * STL-dokumentasjonen på http://www.sgi.com/tech/stl/ (dekker C++ sitt Standard Templates Library) * En fyldig bok om c http://publications.gbdirect.co.uk/c_book/ * Det anbefales å skaffe seg K&R sin 2. utagave av "The C programming language" - http://www.amazon.com/C-Programming-Language-2nd/dp/0131103628

Alternativer for hjemmebruk

Dersom du ikke kjører Linux hjemme men vil jobbe med programmene dine der også, finnes flere alternativer. Du kan bruke GCC på [Windows] også. En god idé da er å installere Cygwin (http://www.redhat.com/software/cygwin/), som gir deg et Unix-lignende miljø som kjører under [Windows]. Fordelen er at dette vil være veldig likt det du jobber med på UA. I tillegg finnes en kompilator som kjører uten videre på [Windows]/DOS som heter DJGPP (http://www.delorie.com/djgpp/). Kommersielle alternativer inkluderer så klart Microsoft Visual C++, Borland C++ Builder osv, men disse er ikke frie, og må betales for.

Om du trenger konkret hjelp

C- og C++-programmerere trenger ikke se langt etter hjelp på nettet. Om du har spesielle problemer som ikke kan løses med et kjapt Google-søk, kan du prøve å spørre guruene på nyhetsgruppene 'no.it.programmering.c' eller 'no.it.programmering.c++'. Om du er komfortabel med IRC er det hjelp å få på kanalene #c og #c++ på 'irc.freenode.net'