Sto tentando di utilizzare una funzione da una libreria opensource. Questa funzione non è esposta all'esterno per impostazione predefinita (quindi presumo che non sia la funzione di utilità fornita direttamente dalla libreria opensource), ma ho bisogno di questa funzione per risolvere alcuni problemi nel mio codice, quindi in qualche modo ho apportato alcune modifiche nel makefile per esporre il funtion dalla biblioteca.Come trovare se una funzione è rientrante
Ora la domanda è come assicurarsi che questa funzione sia rientrante.
Non riesco a scoprirlo a occhio nudo, perché chiama un numero di funzioni internamente.
Per essere precisi, sono curioso di sapere se sono disponibili strumenti o opzioni in GDB per verificare se la mia funzione utilizza solo variabili locali e non modifica le variabili globali.
Se non sei sicuro e sei in grado di modificare (sembra che tu sia), rendi la funzione non rientranti con qualche mutex statico. –
è possibile controllare il codice smontato. probabilmente non ne vale la pena ... –
Si potrebbe semplicemente chiamare la funzione, e chiamare un interrupt e richiamare la funzione di nuovo e vedere cosa succede. Se si comporta male. –