pliki LIB co to jest?

0

Niedowno musiałem skompilować pewien programik i napotkałem się na pliki LIB.
Czy może mi ktoś wyjaśnić co to jest jaka jest ich budowa i jak się ich robi oraz jak znich się korzysta. Dla mnie to czarna magia hm być może że to było pod Visual C++ 6.0 o którym prawie nic niewiem choć widziałem też te pliki w c++.
Licze na pomoc.--Radek B.

0

W C/C++ kod programu moze (a nawet powinien) byc w osobnych plikach (.c,.cpp itp). Programista nie musi za kadym razem pisac wszystkiego od nowa tylko dolacza plik naglowkowy z prymitywami funkcji i plik z jej kodem. Jezeli funkcja jest mala to mozna jako plik z kodem uzyc pliku z kodem zrodlowym. Jak kompilujesz program otrzymujesz pliki obiektowe ktore dopiero przez linker laczone sa w plik wykonywalny. W C/C++ te pliki maja najczesciej rozszerzenia *.obj lub *.o. Czesto jest tak ze zamiast pliku z kodem zrodlowym funkcji dostajesz tylko plik z naglowkami i plik obiektowy ktory dolaczas w procesie konsolidacji (linkowania). Jezeli funkcji jest bardzo duzo a ich kod to tysiace lini, to zamiast uzywac jedengo wielkiego pliku lub kilkudziesieciu mniejszych, kompiluje sie kazdy z plikow to pliku obiektowego na nastepnie laczy wszystkie do jednego pliku zwanego biblioteka (pliki *.lib, *.a itp). I wlasnie dzieki temu jak np: piszesz programa w Visual C++ z OpenGL to zamiast dodawac do projektu dziesiatki plikow z funkcjami do GL dostajesz tylko plik z naglowkami i biblioteke ktora dolaczasz do programu.

0

Czyli mam rozumieć że zamiast użwać tych plików można użyć ich poprzez zapis w nagłówku zapomocą #include tylko że trzeba wszystkie pliki użyte w lib wypisać. Popraw mnie jak się myle i jeszcze jedno czy w c++ builder 5 można te same pliki użyć jakoś czy nie?--Radek B.

0

W skrucie lib to zbiór skompilowanych kodów zródłowych. Jak chcesz ich uzyc to łaczysz program z tym plikiem lib, a w projekcie dodajesz naglowek w ktorym sa tylko nazwy tych funkcji ktore uzywasz.

0

Czy pomógłbyś mi "przetłumaczyć" źródło z VC na C++ Buildera?--Radek B.

0

oki ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1