







=============  C - Programmering  Amiga OS 2.xx  ======================
                                                 Av Kjell Cederfeldt.
Del 1. Söndag den 5 April 1992.
-------------------------------


Vad är 'C' ?
------------

Modernt programmeringsspråk. Flyttbart (portabelt) mellan olika
maskiner. Kraftfullt, och effektivt samt relativt snabbt. Att kunna
'C' är en stor fördel i arbetslivet. 'C' är ett kompilerat språk
tillskillnad från ex. Basic och Comal mm.


Vad behövs ?
------------

För att skriva själva källkoden (förklars senare) behöver du en
editor/ordbehandlare. Exempel på detta är Amigas ED, Emacs, eller CED
och likn.

Du behöver en C kompilator att kompilera din källkod med. För att kunna
skriva program till Amigan behöver du också include-filer och en bra
bok som beskriver de olika funktionerna i Amigans operativsystem.


Konstiga ord!
-------------

Källkod (engelska source-code). Detta är den text som du skriver i din
editor. Den kan alltså inte köras direkt (vilken man kan i ex: Basic).

En Källkod kan alltså flyttas enkelt till en annan maskin eftersom det
är en ren textfil.

Kompilatorn (som är själva 'C' program tillverkaren), översätter text-
filen till ett färdigt program. Ett program som datorn kan förstå och
köra.

Kompilatorn kompilerar och kontrollerar din textfil så att inga fel
finns. Givetvis hittatr inte kompilatorn alla typer av fel, men den kan
se ganska många. Vissa fel är rena varningsfel och det klarar
kompilatorn i regel av att fixa. Programmet som kompilatorn skapar går
inte direkt att köra utan måste först länkas. Det är här som den
första förvirringen börjar.

Länkaren gör det "halv" färdiga programmet helt färdigt (om det gick
igenom kompilatorn). Mer om vad länkaren gör förklarar jag senare
eftersom det skulle bli snurrigt och ytterligare kunskaper krävs. Men
grovt sagt gör länkaren det sista maskinberoende arbetet. Länkaren
"bygger" också ihop programmet med filer från compilatorns biblotek och
andra program som man vill länka med.

















Filtyper och filnamn.
----------------------

Man döper sina filer på ett speciellt sätt beroende på vilket program-
språk man skriver i. Så också i 'C'. Ett program som vi vill kalla för
'Exempel' kommer C-källfilen att heta 'Exempel.c'. Detta är den fil som
vi själva skriver i vår texteditor. 

Efter att kompilatorn har kompilerat filen, (om allt gick vägen),
kommer en ny fil att skapas. Den har namnet 'Exempel.o'.

Detta betyder att det är en objekt fil. (Detta är den kompilerade
filen, men okörbar eftersom den inte är länkad).

Länkaren (BLINK) länkar filen och man får en ny fil som heter 'Exempel'


Hur kompilerar man?
-------------------

Kompileringen görs i två pass. 

LC1 exempel.c              kompilerar pass1
LC2 exempel.c              kompilerar pass2

Man kan ge en mängd olika parametrar till LC1 och LC2, med detta bespar
vi oss från nu (eftersom dessa ändast är intressanta i specialfall och
inte för enkla testprogram).

För att förenkla ännu mer kan man kompilera med 'LC' vilket automatiskt
kör både pass1 och pass2.

LC exempel.c               kompilerar pass1 & pass2.

Även i detta fall  kan man ange en massa trevliga och otrevliga
parametar. Vi skall strax ange en. Men innan skall jag förklara att
vare sig man kopileara med LC1 & LC2 eller med LC så får du en körbart
program. Kompileringen skapar en objekt fil. ('exempel.o'). Denna skall
vi nu länka.

Länkare till lattice heter BLINK och till den måste man ange en hel drös
av jobbiga parameterar. (Suck).

BLINK lib:c.o + exempel.o TO exempel LIB lib:amiga.lib + lib:lc.lib

Verkade det jobbigt? Jo visst. Vad detta betyder förklar vi inte nu.
Utan istället använder vi oss av en trevlig parameter till LC

LC -L exempel.c           kompilerar pass1 & pass2 samt länkar.


-L (OBS måste vara stort L) länkar automatiskt åt oss.

Detta ger samma resultat som ovan, fast enklare.


@BEGIN_FILE_ID.DIZVery good C Guide in swedish.
@END_FILE_ID.DIZ
