使用 objdump/readelf 和 extern 变量
我有库 ab.so
由 2 个源文件 am
、ah
和 bm
、bh< 组成/code>
在 am
中,我定义了一个变量 foo
,在 bm
中,我声明了它 extern
。
现在使用 readelf/objdump 我想知道在哪里以及如何在 ao
文件、bo
和 ab.so
中看到我的变量 foo ?
多谢
I have library ab.so
compose of 2 sources file a.m
, a.h
and b.m
, b.h
In a.m
I have define a variable foo
and in b.m
I have declare it extern
.
Now using readelf/objdump I would like to know where and how can I see my variable foo in the a.o
file, b.o
and ab.so
?
Thanks a lot
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
棘手的问题。您必须意识到 readelf/objdump 不会显示 C 代码作为结果,而只会显示汇编代码。如果您准备阅读该内容,请继续使用 objdump -d ab.so 反汇编该应用程序,并在那里查找相关代码。
网络上有很多 readelf/objdump 教程。不要害怕寻找他们。
Tricky question. You must realize that readelf/objdump will not display C code as a result, only assembly code. If you are prepared to read that, go ahead and disassembly the application with
objdump -d ab.so
and look for the relevant code there.There are a bunch of readelf/objdump tutorials available on the web. Don't be afraid to look for them.