-
Data: 2014-01-10 00:23:48
Temat: Re: ARM i AVR
Od: Adam Dybkowski <a...@g...6c7o8m> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2014-01-09 17:19 inny punkt siedzenia... napisał(a):
> przeglądam pewną książkę o AVR, poeta napisał tam mniej więcej tak: aby
> stworzyć bibliotekę z któej linkier będzie dołączał tylko wykorzystywane
> funkcje trzeba ją stworzyć z oddzielnych plików źródowych (każda funkcja
> w innym pliku)... o co mu mogło chodzić?
Chodzi o to, że w momencie linkowania z pliku biblioteki (.a) dołączane
są do kodu wynikowego całe pliki obiektowe (.o). To znaczy, że jeżeli w
jednym pliku źródłowym umieścisz kilka funkcji z których będziesz używać
tylko jedną, to i tak kod wynikowy spuchnie o te wszystkie funkcje.
Dlatego tworząc biblioteki drobiazgów do niezależnego użycia (ot takie
np. operacje na łańcuchach znaków z biblioteki standardowej), warto
każdą funkcję umieścić w oddzielnym pliku źródłowym, aby po kompilacji
funkcje trafiły do oddzielnych plików obiektowych. A plik biblioteki .a
to jest po prostu archiwum wielu plików .o.
Jeszcze jedno - oczywiście powyższe wywody dotyczą kompilatora gcc
(chyba że coś się w ostatnim czasie poprawiło). Istnieją na świecie inne
kompilatory, z lepszym optymalizatorem potrafiącym wycinać z kodu
wynikowego całe nieużywane funkcje i wtedy nie ma znaczenia jak je
pogrupujemy - w bibliotekach czy w jednym dużym pliku źródłowym.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Następne wpisy z tego wątku
- 10.01.14 08:21 inny punkt siedzenia...
- 10.01.14 09:59 Michał Lankosz
- 10.01.14 16:25 inny punkt siedzenia...
- 10.01.14 16:27 inny punkt siedzenia...
- 10.01.14 18:52 inny punkt siedzenia...
- 10.01.14 20:31 inny punkt siedzenia...
- 11.01.14 11:10 inny punkt siedzenia...
- 11.01.14 19:40 inny punkt siedzenia...
- 11.01.14 19:46 Grzegorz Niemirowski
- 11.01.14 21:11 inny punkt siedzenia...
- 11.01.14 21:24 Grzegorz Niemirowski
- 12.01.14 13:13 inny punkt siedzenia...
- 12.01.14 13:27 inny punkt siedzenia...
- 12.01.14 14:59 MiSter
- 12.01.14 15:30 inny punkt siedzenia...
Najnowsze wątki z tej grupy
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
Najnowsze wątki
- 2025-07-19 Zakrzewo => SAP HCM Consultant <=
- 2025-07-19 Poznań => Konsultant SAP HCM <=
- 2025-07-19 Poznań => SAP HCR Consultant <=
- 2025-07-18 celnicy pobili policjanta
- 2025-07-18 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-18 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=
- 2025-07-18 Białystok => Kotlin Developer <=
- 2025-07-18 Warszawa => Sales Director (Cloud solutions) <=
- 2025-07-18 Spalinowa trauma
- 2025-07-18 Polska => Senior Key Account Manager <=
- 2025-07-18 Białystok => Programista Kotlin <=
- 2025-07-18 Szczecin => Key Account Manager IT <=
- 2025-07-18 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-18 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-18 Lublin => Delphi Programmer <=