[ Makojdis @ 21.05.2001. 18:51 ] @
Da li neko zna kako se pravi *.h datoteka
interesujeme samo struktura da bih mogao da ubacim svoje funkcije
[ Vojislav Milunovic @ 21.05.2001. 20:14 ] @
Pa nema tu nekog redosleda ;o)
Ako oces da pravis svoje funkcije onda se koriste libovi a ne *.h

*.h sluzi za neke standardne definicije recimo kao sto su errno ili za deklaraciju funkcija (ne definisanje):

primer jednog *.h file-a bi bilo :

#ifdef PREDATOR
#undef PREDATOR
#endif
#define PREDATOR 10

extern int predator(int,int,char *);
typedef int predator_voja;

itd...
[ Makojdis @ 21.05.2001. 20:29 ] @
Kako da napravim lib???/
[ Vojislav Milunovic @ 22.05.2001. 13:20 ] @
#cat >gg.c
int pr(){
return write(1,"gg\n",3);
}
#gcc -c gg.c
#ld -shared gg.o -o gg.so
[ Makojdis @ 22.05.2001. 17:28 ] @
Nisam bas siguran da sam shvatio......
Sta je sta ovde, meni treba da ubacim deset funkcija i da ih posle koristim u programima
[ Vojislav Milunovic @ 22.05.2001. 19:38 ] @
Imas vise nacina da to uradis :
1. mozes sve da ubacis u neki heder file i preprocesor C komapjlera (cpp) ce da ih sve ubaci u jedan file zajedno sa tim funkcijama
2. napravi shared lib kao sto sam gore pokazao i Linuj program sa
gcc -ogg gg.c -L/root -lgg
3. napravi 2 file-a 1. sa main funkcijom koji ce da poziva druge te funkcije i 2. sa tim funckijama i radi vako ->
gcc -c gg.c
gcc -c gg1.c
gcc gg1.o gg.o -o gg_final
[ Makojdis @ 22.05.2001. 22:40 ] @
Jel ovo radi u turboC-u za windows???
[ Vojislav Milunovic @ 23.05.2001. 00:08 ] @
Pa mozes ti da radis i ovako ako oces ->

#cat gg1
int a,b;
#cat gg.c
int main(){
#include"gg1"
}
#

a da li to radi u turbo C to ne znam (neverujem da ovo sa ld radi jel je to za UNIX) ali ove ostale tehnike pravljenje .o filova moze...napravis vise objekta i onda ih ulinkujes u jedan executabilan file.Samo nemoj da u .o filovima definises funkcije kao static ko nezelis da budu private.
Naime te funkcije se nemogu pozvati izvan tog .o file-a.Znaci nemoj da stavljas static nikako na funkciju ako ce ti trebati u svim filovima tog programa