Symbolnamen in der Bibliothek verstecken

Ich möchte Symbolnamen ausblenden, die für den letzten Benutzer nicht relevant sind, und nur APIs in meiner freigegebenen oder statischen Bibliothek sichtbar machen. Ich habe einen einfachen Code wie diesen:

int f_b1(){
return 21 ;
}

int f_b3(){
return f_b1() ;
}

Ich habe alle angegebenen Methoden angewendetHier wie mit__attribute__ ((visibility ("hidden"))) undstatic Daten, aber kein erfolgreiches Ergebnis. Mein Betriebssystem ist Ubuntu und x86_64 GNU / Linux Prozessor. Verwenden wir spezielle Optionen beim Kompilieren mit gcc? Ich liste Module und Funktionen von Bibliotheken mitnm Befehl. In meinem obigen Beispiel möchte ich nur sichtbar machenf_b3 Funktion. Wenn ich benutzeattribute hidden Der Makro-Compiler gibt keinen Fehler aus, aber die Funktion ist in der von ausgegebenen Liste noch vorhandennm Befehl.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage