Ĺ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
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