Bir açık kaynak kitaplığından bir işlev kullanmaya çalışıyorum. Bu işlev, varsayılan olarak dışarıda gösterilmiyor (bu nedenle, doğrudan kaynak kitaplığı tarafından sağlanan yardımcı işlev olmadığına inanıyorum), ancak kodumdaki bazı sorunları çözmek için bu işleve ihtiyacım var, bu yüzden bir şekilde makefile'de bazı değişiklikler yaptım. kütüphaneden işlevBir işlevin reentrant olup olmadığını nasıl bulurum?
Şimdi, bu işlevin yeniden girişe dahil olduğundan emin olun.
Çıplak gözle bulamıyorum, çünkü dahili olarak bir dizi işlevi çağırıyor.
Kesin olması için, fonksiyonumun sadece yerel değişkenleri kullanıp kullanmadığını ve global değişkenleri değiştirmediğini kontrol etmek için herhangi bir araç olup olmadığını veya GDB'de herhangi bir seçenek olup olmadığını bilmek istiyorum.
Eğer emin değilseniz ve değiştirebiliyorsanız (öyle görünüyor), bazı statik mutekslerle yeniden giriş yapmaya çalışın. –
disasembled kodunu kontrol edebilirsiniz. Muhtemelen bu çabaya değmez ... –
Sadece işlevi çağırıp, arayarak arayarak arayarak işlevi tekrar arayabilir ve ne olduğunu görebilirsiniz. Kötü davranıyorsa. –