yo
wollte euch mal das gcc feature "function attributes" und speziell das constructor attribut näher bringen
durch das __attribute__(()) keyword können bei funktionen spezielle attribute angegeben werden
das ganze funktioniert nur beim gcc c bzw c++ compiler und stammt aus der sprache c (kann jedoch auch in c++ genutzt werden)
wie funktioniert das constructor attribut?
in ELF binaries werden constructor und destructor funktionen in den .ctors und .dtors sektoren referenziert
wenn dann eine dynamische library eingebunden wird (z.B. über LD_PRELOAD) wird gecheckt ob so eine referenz existiert und die funktion wird ausgeführt
dies geschieht üblicherweise beim programmstart (constructor) bzw beim programmende (destructor)
syntax
das ist der syntax für function prototypes:
Bitte melden Sie sich an, um dieses Bild zu sehen.
das ist der syntax für function signatures:
Bitte melden Sie sich an, um dieses Bild zu sehen.
keine lust das ganze noch unnötig auszuschmücken
sollte im großen und ganzen offensichtlich sein
mfg remix