ďťż

Ładny brzuch

Jak pod Linuxem stworzyć bibliotekę? Coś na wzów Windowsowskich DLLi?
Ponoć wystarczy tylko podać odpowiednie parametry dla GCC, ale jakie?

roger



najłatwiej jest stworzyc libka statycznego (static) robisz to kompilując pliki *.c / *.cpp do plikow *.o a nastepnie robisz taki myk:

ar cr libbiblioteka.a plik.o plik2.o plik3.o

teraz moszesz kompilowac programy z biblioteka w ten sposob:
gcc -o progz progz.c -lbiblioteka

FreeBSD r0x'uje

GG: 2175556
www.cepa.end.pl

A jak się kompiluje do *.o?
"g++ a.cpp -o a.o" powoduje stworzenie pliku wykonywalnego.

roger

g++ -c a.cpp

793



bezpieczniej jest robic:

gcc -c -o plik.o plik.c

FreeBSD r0x'uje

GG: 2175556
www.cepa.end.pl

a dlaczego bezpieczniej? zawsze mozna nazwe pliku zmienic przeciez?

793

no w sumie masz racje, ale gdy robisz bardziej skomplikowane schematy kompilacji np: w makefilach to najczesciej uzywa sie tego schematu :)

FreeBSD r0x'uje

GG: 2175556
www.cepa.end.pl

cytat:grzesiu_g napisał:

a dlaczego bezpieczniej? zawsze mozna nazwe pliku zmienic przeciez?

komplacja plików źródłowych polega w rzeczywiśtosci na kompilacji do plików przejściowych (.o, .obj - zalezy od kompilatora), a dopiero potem linker przetwarza je w plik wykonywalny - plik wykonywalny i .o to nie to samo. biblioteki statyczne Linuxa (pliki lib*.a) to po prostu pliki .o które dołącza się do pozostałych, tyle ze spakowane programem ar w jeden plik. Na Linuxa sa jeszcze biblioteki dynamiczne (.so) - ich 'odpowiednikiem' w windowsie sa pliki .dll

_______________________________________________________________________
Zajrzyj na http://hno.freeshell.org - artykuły, tipsy, soft, programowanie, Linux i inne.

co ty nie powiesz? :) i jak to sie ma do mojego posta?

793

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •