| Printer friendly format for http://doc.uib.no/wiki/CProgrammering : | Display with child pages or without header |
C-Programmering |
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.
For å skrive programmene kan du velge mellom flere velegnede editorer:
emacs)xemacs)vim, eller i et eget pent vindu med kommandoen gvim)kdevelop)Hva som er best er personlig - prøv alle!
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.
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 3 printf for dokumentasjonen til funksjonen printf.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.
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