-
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
- Fejk muzyczny czy nie fejk
- Raspberry Pi 3 Model B+
- Kuchenka elektryczna
- test
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
Najnowsze wątki
- 2025-03-15 Na co komu okna
- 2025-03-15 Mój elektryk
- 2025-03-15 Fejk muzyczny czy nie fejk
- 2025-03-15 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-15 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk
- 2025-03-15 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-03-15 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+ experience) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+) <=
- 2025-03-15 KOMU w RP3 pasuje "Rumuńska łatwość gmerania w wyborach" i dlaczego nie PO-Trzaskanym?
- 2025-03-15 China-Kraków => Key Account Manager IT <=
- 2025-03-14 Spalił się autobus :-)
- 2025-03-14 Policjanci z Piątku
- 2025-03-14 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-03-14 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=