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
回答
1
myvar
不会被一般导出到动态符号表,除非你的连接时,它使用一个链接器标志像-rdynamic
。
2
getpid
和errno
符号由libc导出。 myvvar
符号位于您的可执行文件中,可能未导出。
Objdump -T将帮助您检查符号是否导出。
$ objdump -T /lib/libc.so.6 | grep -w getpid
00c9c570 g DF .text 00000036 GLIBC_2.0 getpid
0
你为什么不使用C++范围操作:
::myvar = myvar + 1;
,然后命名空间。
相关问题
- 1. 通过变量全局访问控制
- 2. 全局变量不通过
- 3. 如何通过Python和ctype访问C全局变量结构
- 4. 从C#访问C全局变量'errno'
- 5. 通过名称作为字符串访问“伪全局变量”
- 6. 从java中访问全局C变量
- 7. C++ - 访问全局变量对象
- 8. 访问javascript全局变量
- 9. 访问全局变量
- 10. 全局访问变量
- 11. JSP访问全局变量
- 12. AS3:访问全局变量
- 13. 访问全局变量
- 14. 访问全局变量
- 15. 访问全局变量inPerformed
- 16. 访问全局变量
- 17. 全局类访问变量
- 18. Javascript全局变量访问
- 19. 访问通过他们的全局变量的ID元素
- 20. luabind:不能访问全局变量
- 21. 作为Ocaml中的全局变量的映射
- 22. 使用全局变量的不工作
- 23. jQuery的全局变量不工作
- 24. 访问全局变量的问题
- 25. PHP访问全局变量的问题
- 26. 全局变量无法通过ajax加载脚本访问
- 27. 全局变量只能通过第一个函数访问吗?
- 28. 通过全局函数访问私有变量
- 29. JavaScript,通过函数访问全局变量
- 30. 在Clojure中通过其名称访问全局变量
您能否为此问题添加更多描述?你有什么问题?你有什么尝试?你想做什么?上下文使得回答问题变得更容易。 – templatetypedef 2011-01-06 08:00:22
铸造`dlsym`毫无意义。 – user562374 2011-01-06 11:42:12