Eigene Libraries erstellen

Gast #311463
Lesenswert?
• ▲
▼
Habe für PIIC Lite ein header file my.h erstellt, welches einige
von mir erstellte nuetzliche Funktionen erhält.
Wenn ich in einem neuen Projekt dieses mit #include "my.h" einbinde,
so werden immer alle Funktionen mit in das *.hex file uebernommen,
auch solche, die ich im aktuellen Projekt nicht verwende.
Wie kann ich auf einfachste Weise sicherstellen,dass nur die wirklich
verwendeten Funktionen im Maschinencode fuer den PIC16F84 erscheinen.
Vielen Dank fuer Eure Hilfe.
Bin Anfaenger in C.
#311467
Lesenswert?
• ▲
▼
@Ernst:

Ne. Isser nicht.
http://www.mikrocontroller.net/forum/read-2-307588.html#307799
Das Headerfile aufteilen bringt auch nix.
Ziel ist es möglich viele Objekt-Files zu erzeugen:
http://www.mikrocontroller.net/forum/read-2-193465.html#193819
Diese dann in eine Lib (also ein Objektdateiarchiv g)
und erst DANN wählt der Linker nur Funktionen aus, die er tatsächlich
braucht.

Funktionen allein in Objekte verpacken reicht nicht. Es müssen wirklich
zwei Bedingungen zutreffen:
- Jede Funktion muß in ein eigenes .o-File
- Dieses .o-file muß in ein Archiv.

Anders geht's nicht. Auch nicht mit -ffunction-sections und
--gc-sections ;-)

Grüße,
Freakazoid

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.