int myvar=100;
main()
{
pid_t (*f) (void);
int *ip;
int myvar=10;
f = (pid_t(*) (void)) dlsym(RTLD_NEXT, "getpid");
ip = (int *) dlsym(RTLD_NEXT, "errno");
if (ip)
printf("%d \r\n", *ip);
ip = (int *) dlsym(RTLD_NEXT, "myvar");
if (ip)
printf("%d \r\n", *ip); //not work where is i am wrong
}
1
A
Antwort
1
myvar
im Allgemeinen nicht in die dynamische Symboltabelle exportiert werden, es sei denn, Sie ein Linker-Flag wie -rdynamic
verwenden, wenn es verbindet.
+0
es mermer Standort nicht mit RTLD_NEXT, aber geben Sie, wenn RTLD_DEFAULT, warum ich es nicht verstehen kann – nitinrakh
2
Die getpid
und errno
Symbole werden exportiert arbeiten. myvvar
Symbole ist in Ihrer ausführbaren Datei und wird wahrscheinlich nicht exportiert.
Objdump -T hilft Ihnen zu überprüfen, ob das Symbol exportiert wird oder nicht.
$ objdump -T /lib/libc.so.6 | grep -w getpid
00c9c570 g DF .text 00000036 GLIBC_2.0 getpid
0
Warum Sie nicht den Umfang Operator ++ C verwenden:
::myvar = myvar + 1;
und dann Namensräume.
Verwandte Themen
- 1. Zugang globale Variable innerhalb einer Klasse
- 2. C++ globale Variable Initialisierungsreihenfolge
- 3. C++ globale Variable in Namespace
- 4. Zugriff C globale Variable 'errno' von C#
- 5. Funktion nicht Globale Variable
- 6. Python Globale Variable nicht
- 7. dlopen und globale Variablen in C/C++
- 8. Alternativen zu dlsym() und dlopen() in C++
- 9. Globale Variable für die Serverinstanz in C++
- 10. globale Variable V.S. Dateivariable in C++
- 11. Globale Variable in Makefile
- 12. IoC vs globale Variable in der Bibliothek
- 13. globale Variable in C sind statisch oder nicht?
- 14. Globale Variable in Reactjs
- 15. PHP globale Variable in Funktionen
- 16. Globale Variable innerhalb der Änderungsfunktion
- 17. Ziel C - Statische und globale Variable?
- 18. JavaScript globale Variable nicht geändert
- 19. Globale Variable mason2 in POET
- 20. nicht-statische globale Variable in Java
- 21. Zugriff auf eine globale Variable über Unterverzeichnisse innerhalb eines Kernelbereichs?
- 22. globale Variable in R-Funktion
- 23. Zugang semi-globale Variablen aus gewünschter Funktion in PHP
- 24. Zugriff auf globale Variable über Methoden Verwirrung in Codeigniter?
- 25. Verwendung der Debug-Version von libc
- 26. Globale Variable Lookup
- 27. CodeIgniter globale Variable
- 28. Wie Zugriff auf eine globale Python-Variable von C?
- 29. Globale Variable Arduino
- 30. globale Variable, wo Variable Mitglieder hat
Können Sie bitte eine weitere Beschreibung zu dieser Frage hinzufügen? Welches Problem hast du? Was hast du probiert? Was versuchst du zu machen? Der Kontext erleichtert die Beantwortung der Frage erheblich. – templatetypedef
Casting 'dlsym' ist sinnlos. – user562374