Ho un'applicazione che ha una funzione f1 void f1()
funzioni nasconde in C
Inoltre, ho una libreria che io carico usando LD_PRELOAD
.
La libreria ha diversi file di codice e diversi file di intestazione e viene compilata nel file .so.
Nei file di intestazione viene utilizzata anche una funzione denominata f1
con la stessa firma di cui sopra. L'ultimo f1
viene utilizzato solo nella libreria. (Non posso cambiare al metodo statico)
Il problema è che quando carico biblioteca (utilizzando LD_PRELOAD
) f1
dalle sostituzioni biblioteca f1
dell'applicazione.
C'è un modo per configurare f1
della libreria per essere visibile solo alla libreria?
C'è un motivo per cui non si può semplicemente rinominare una delle dichiarazioni di funzione? Immagino che questo sia in un codice esistente che potrebbe essere il motivo per cui non puoi – Bojangles