GCC Function Attributes

  • 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

    Einmal editiert, zuletzt von Remix ()

  • Dieses Thema enthält 7 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.