Linker, Loader und ausführbare Formate
Welche Aussage zur Behandlung schwacher Symbole (Weak Symbols) beim Linker ist richtig?
- AEin schwaches Symbol hat stets Vorrang vor anderen Definitionen
- BGibt es eine normale (starke) Definition gleichen Namens, wird diese verwendet, sonst die schwache
- CDateien mit schwachen Symbolen können nicht gelinkt werden
Antwort und Erläuterung anzeigen
Antwort: B. Gibt es eine normale (starke) Definition gleichen Namens, wird diese verwendet, sonst die schwache
Ein schwaches Symbol ist eine Ersatzdefinition nach dem Prinzip „verwende diese, wenn es keine andere Definition gibt“. In Embedded-Software wird häufig das Standardverhalten von Interrupt-Handlern als schwaches Symbol bereitgestellt, sodass es ersetzt wird, wenn die Anwenderin oder der Anwender eine Funktion gleichen Namens schreibt. Überschneiden sich starke Definitionen untereinander, entsteht der Fehler „Mehrfachdefinition“; eine Überschneidung mit einer schwachen Definition ist kein Fehler.