Zelf een library maken.

Status
Niet open voor verdere reacties.

erikiej1

Gebruiker
Lid geworden
29 apr 2008
Berichten
138
Hé,
ik wil graag zelf een library maken, dat je bijvoorbeeld in Functies.h de prototypes zet en in main.cpp dan #include Functies.h en dan dat je in main gewoon die functies kan gebruiken. (volgens mij moet je dan libmijnlibraryfile.a hebben of zo)

Kan iemand me op weg helpen?
 
Laatst bewerkt:
Een .h-bestand is een header waarin je functies en dergelijke kan zetten. Ze kunnen behalve .h ook andere bestandsextensies hebben zoals .hxx, .hh, .hpp enzovoorts.

Ja, met #include kan je een header gebruiken.

Een library is niet hetzelfde als een header. Het is op zich een pakket met data, functies, en troep, die klaargemaakt is voor gebruik, maar een library moet worden gelinkt. Kan .a hebben, soms .lib.Tenminste, dat zegt m'n brein tegen me terwijl het de alcoholische koppijn en verkoudheid nog verwerkt. Hoeeehoeeeeeee! :P:rolleyes: :D

Eh, maar ik volg je niet helemaal. Was dat wat je widle weten?
 
uhhhh right? [sarcasme] gts met je alcoholische koppijn, goed gedaan [/sarcasme]
 
Ja zoiets wist ik wel maar hoe kan ik nou functies in een .a bestand zetten?
 
Als je van gcc gebruik maakt kan je ar.exe gebruiken. Eerst .o bestand(en) maken en dan in een .a stoppen.
bijv:
ar -q libtest.a test1.o test2.o
 
Laatst bewerkt:
zoiets had ik ook al op internet gezien maar ik snapte dr niks van. Kun je ff stap voor stap uitleggen wat ik dan precies moet doen en wat ik in moet typen en waar?
 
Eerst maak je 1 of meerdere .c bestanden waarin de functies en/of variabelen zijn gedefinieerd.

Dus bijv.
in test1.c zit dan
Code:
void
hallo()
{
 printf("Hallo");
}

void
niks()
{
}
en in test2.c
Code:
int
blah()
{
 return 0;
}

Dan compileer je deze zodat je .o bestanden krijgt.
Dit kan met een IDE zoals DevCpp waarbij je gebruik maakt van een project of gewoon met een commandline in een console window. Het commando is dan:
gcc -c test1.c test2.c

Hierdoor krijg je test1.o en test2.o

Vervolgens typ je op de commandline:
ar -q libtest.a test1.o test2.o

Er wordt dan een bestand libtest.a gemaakt waaraan de bestanden test1.o en test2.o worden toegevoegd.
De functies hallo, niks en blah zitten dan in libtest.a.


Je kan ar --help voor de help van ar. Er zijn namelijk verschillende manieren om iets toe te voegen (bijv. alleen toevoegen/overschrijven als een bestand nieuwer is).
 
Laatst bewerkt:
Dev-C++

ik gebruik Dev-C++ (4.9.9.2) waar moet je dan gcc en ar enzo invullen? waar is die commandline? of als het gewoon in een opdrachtprompt moet. dan herkent die de opdracht gcc niet. hoe zit dat?
 
Het moet inderdaad in een opdrachtprompt (dus via start -> uitvoeren en dan cmd.exe ).
Zorg ervoor dat de de map waarin gcc staat aan the path omgevingsvariabele is toegevoegd.
 
Laatst bewerkt:
Ja hartstikke bedankt. Ik heb het zelf al uitgevogeld voor je laatste post. ik heb nu zelf een libtest.a :) Bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan