Portál AbcLinuxu, 12. května 2025 03:09

Dotaz: c optimalizacia linkovania

17.7.2007 15:47 dgls | skóre: 2
c optimalizacia linkovania
Přečteno: 296×
Odpovědět | Admin
V zdrojaku src.c mam funkcie fa, fb, main. Funkcia fb nie je vyzuzita( nie je volana ani v main ani v fa ). Ked zostavim program gcc src.c, tak do a.out sa zbytocne prilinkuje aj funkcia fb. Ako optimalizovat preklad/linkovanie aby vysledna binarka neobsahovala zbytocny kod?

Normalne by ma to netrapilo ale pri programovani avr mikrokontrolerov niekedy treba setrit miestom. Casto vyuzivam kod z pretchadzajucich projektov alebo uz hotove api k roznym dev. Pride mi neprakticke hladat a zakomentovavat nepotrebne funkcie.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.7.2007 16:30 kirpike | skóre: 8 | Plzeň
Rozbalit Rozbalit vše Re: c optimalizacia linkovania
Odpovědět | | Sbalit | Link | Blokovat | Admin
Umísti každou funkci resp. skupinu závislých funkcí do samostatného souboru, všechny přelož a spoj do knihovny. Knihovnu potom připoj při překladu.
Asi takhle:
cc -c fa.c
cc -c fb.c
ar -r libxxx.a fa.o fb.o
cc -L. src.c -lxxx
17.7.2007 16:55 dgls | skóre: 2
Rozbalit Rozbalit vše Re: c optimalizacia linkovania
Vdaka, to je ono. Vidim ze si musim spravit prehlad v zakladnych nastrojoch.
17.7.2007 17:00 billgates | skóre: 27
Rozbalit Rozbalit vše Re: c optimalizacia linkovania
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je to zaujimave. Skus to skompilovat s optimalizaciou (gcc -O2 alebo gcc -O3), ci nahodou tie nevyuzite funkcie nevyhodi automaticky. Pripadne na setrenie miesta sluzi prepinac -Os. Nakoniec to treba prehnat cele cez strip.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.