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