mam aplikacji, która ma funkcję f1 void f1()
funkcje ukrywanie w C
Ponadto mam bibliotekę ładować za pomocą LD_PRELOAD
.
Biblioteka ma kilka plików kodowych i kilka plików nagłówkowych i jest skompilowana do pliku .so.
W pliku nagłówkowym używana jest również funkcja o nazwie f1
z taką samą sygnaturą jak powyżej. Najnowsza f1
jest używana tylko w bibliotece. (Nie można go zmienić na metodę statyczną). Problem polega na tym, że po załadowaniu biblioteki (przy użyciu LD_PRELOAD
) f1
z biblioteki zastępuję f1
aplikacji.
Czy istnieje sposób skonfigurowania biblioteki f1
tak, aby była widoczna tylko dla biblioteki?
Czy istnieje powód, dla którego nie można zmienić nazwy jednej z deklaracji funkcji? Zgaduję, że jest to w istniejącej bazie kodu, co może być powodem, dlaczego nie można – Bojangles