I Anwendung, die eine Funktion f1 void f1()
Deck Funktionen in C
Zusätzlich hat, habe ich eine Bibliothek, die unter Verwendung von I LD_PRELOAD
Last.
Die Bibliothek enthält mehrere Codedateien und mehrere Header-Dateien und kompiliert diese in die .so-Datei.
Eine der Header-Dateien verwendet auch eine Funktion mit dem Namen f1
mit der gleichen Signatur wie oben. Die letzte f1
wird nur in der Bibliothek verwendet. (Ich kann es nicht in statische Methode ändern)
Das Problem ist, dass, wenn ich die Bibliothek laden (LD_PRELOAD
) f1
aus der Bibliothek überschreibt f1
der Anwendung.
Gibt es eine Möglichkeit, f1
der Bibliothek zu konfigurieren, nur für die Bibliothek sichtbar zu sein?
Gibt es einen Grund, warum Sie nicht einfach eine der Funktionsdeklarationen umbenennen können? Ich vermute, das ist in einer vorhandenen Codebasis, die möglicherweise warum nicht – Bojangles