[ Scorpion_KG @ 20.02.2007. 21:04 ] @
Zanima me kako se prave biblioteke u C-u posto me mrzi da svaki cas opet kucam neke funkcije i josh neke zaje*ancije.
[ Buffy @ 20.02.2007. 21:56 ] @
zavisi kakve ti biblioteke trebaju. Imas staticke i dinamicke( dll). Staticke se za vrijeme povezivanja( linkovanja) modula povezu sa tvojim kodom u jedan izvrni fajl, dok dinamicke biblioteke su u *.dll obliku, odnosno njih moze da poziva svaka aplikacija kojoj su potrebne funkcije iz te biblioteke.
Vjerovatno su ti potrebne samo staticke biblioteke. One su *.a ekstenzije kod gcc-a, a *.lib kod ms-ovih i borlandovih kompajlera( ako me sjecanje ne vara).
E sad kako ces napraviti staticku biblioteku zavisi i od okruzenja koje koristis. Vecina okruzenja podrzava pravljenje statickih biblioteka, pa vjerovatno i tvoje. Naravno, ne smijes da pises main funkciju jer ovo nije izvrsni fajl, vec samo biblioteka, odnosno set funkcija. Kad napravis tu svoju aplikaciju, na kraju bi trebao da imas *.a( ili *.lib) datoteku i jednu ili vise *.h datoteka( u zavisnosti koliko si ih napisao, jer su ti potrebne deklaracije funkcija za kasnije projekte).
Pozdrav!
[ Scorpion_KG @ 21.02.2007. 00:33 ] @
Izvini ali da li mozes da mi napises neki primer za to posto nisam siguran da sam te bash razumeo. Hvala
[ Buffy @ 21.02.2007. 12:25 ] @
pa na primjer napravis jedan static library projekat( npr. dev-cpp) i u njega dodas func.h i func.cpp fajlove.
Code:

//func.h
//deklaracije funkcija

int func(int a);


Code:

//func.cpp

#include "func.h"

int func(int a){
   return 0;
}



E, kad ovo kompajliras dobices *.a fajl( to je u stvari staticka biblioteka).
Sad ovu biblioteku mozes koristiti u drugim projektima, tako sto ces je linkovati sa nekim drugim modulima i bibliotekama.
Pronadji malo vise informacija na net-u.
Pozdrav!