在 C 语言中,假设你有一个名为variable_name的变量。我们假设它位于0xaaaaaaaa的内存地址处,而在那个内存地址上,你有整数123。换句话说,variable_name包含123。 关于“variable_name位于0xaaaaaaaa”这种措辞,我想要澄清一下。编译器如...
这个小应用程序是干什么用的? 在不加任何选项的情况下使用它可以减小可执行文件的大小,但是它是如何做到的?
简而言之 我试图把这个问题简化,但它是一个复杂的问题,所以最终变得很长。如果你能回答其中任何一部分,或者给出任何建议、提示、资源或任何有用的信息,都将非常有帮助(即使你不能直接解决我的所有问题)。我现在正在头痛难忍。 以下是我遇到的具体问题。请继续阅读下面的内容了解更多信息。 我正在寻求...
我正在编写一个API作为内核模块,提供设备驱动程序的各种函数。我在mycode.c中编写了三个函数。然后构建并加载了模块,然后将mycode.h复制到/include/linux中。在设备驱动程序中,我有一个#include 并调用这三个函数。但是当我构建驱动程序模块时,我会得到三个链接器警告...
分析这个问题,我发现一些关于Linux上动态加载(dlopen)中弱符号解析行为的事情。现在我正在寻找规范来管理它。 让我们以一个例子为例。假设有一个程序a,它动态加载库b.so和c.so,按照这个顺序。如果c.so依赖于另外两个库foo.so(实际上在这个例子中是libgcc.so)和ba...
如何查看Python源代码的符号表? 我的意思是,在实际运行程序之前,Python会为每个程序创建一个符号表。那么我的问题是,如何将该符号表作为输出获取?
以下代码片段按预期工作:def test(): print(f'local symbol table before exec : {locals()}') exec('a = 0') print(f'local symbol table after exec : {l...
在阅读不同的数据结构时,我发现编译器使用的符号表被归类为一种数据结构。 有人能解释一下符号表数据结构和哈希表之间的区别吗?
我正在研究如何解析 ELF 可执行文件的动态符号表(.dynsym)。我已经成功地解析了符号表 .symtab(每个符号占用 16 字节),使用 value 属性来表示符号的地址,name 属性来表示字符串在 .strtab 段中的偏移量。但是,我无法使用同样的方法解析动态符号表(.dynsy...