-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!us.feeder.erje.net!news.glo
rb.com!news-out.readnews.com!news-xxxfer.readnews.com!nx01.iad01.newshosting.co
m!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-
01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Date: Fri, 10 Jan 2014 00:23:48 +0100
From: Adam Dybkowski <a...@g...6c7o8m>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.23) Gecko/20090812
Thunderbird/2.0.0.23 Mnenhy/0.7.6.666
MIME-Version: 1.0
Newsgroups: pl.misc.elektronika
Subject: Re: ARM i AVR
References: <lak7j9$9jm$1@node2.news.atman.pl> <lami6v$i6o$1@node2.news.atman.pl>
In-Reply-To: <lami6v$i6o$1@node2.news.atman.pl>
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 29
Message-ID: <52cf2f81$0$2159$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 89-67-77-175.dynamic.chello.pl
X-Trace: 1389309825 unt-rea-a-02.news.neostrada.pl 2159 89.67.77.175:52606
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.misc.elektronika:658075
[ ukryj 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
- 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?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
Najnowsze wątki
- 2025-03-01 Warszawa => Expert Recruiter 360 <=
- 2025-03-01 Chrzanów => NodeJS Developer <=
- 2025-03-01 Warszawa => Gen AI Engineer <=
- 2025-03-01 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-01 Kraków => Technical Team Leader (Clojure, Java) <=
- 2025-03-01 Zrobił TV OLED z TV LCD
- 2025-03-01 Gdynia => Sales Executive / KAM <=
- 2025-03-01 Błonie => Sales Specialist <=
- 2025-03-01 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-03-01 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-03-01 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-03-01 Wróblewo => Analityk finansowy <=
- 2025-03-01 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-02-28 Chrzanów => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-28 Warszawa => Java Full Stack Developer (Angular2+ experience) <=