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 kommandoengvim) - 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 printffor dokumentasjonen til funksjonenprintf. - 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