98得票7回答
符号表是什么?

在 C 和 C++ 的语境下,符号表是什么?

73得票5回答
在C语言中,变量名是如何存储在内存中的?

在 C 语言中,假设你有一个名为variable_name的变量。我们假设它位于0xaaaaaaaa的内存地址处,而在那个内存地址上,你有整数123。换句话说,variable_name包含123。 关于“variable_name位于0xaaaaaaaa”这种措辞,我想要澄清一下。编译器如...

31得票3回答
"strip"(GCC应用程序)是用于什么的?

这个小应用程序是干什么用的? 在不加任何选项的情况下使用它可以减小可执行文件的大小,但是它是如何做到的?

31得票3回答
处理ELF重定位——理解重定位、符号、节数据以及它们的协同作用。

简而言之 我试图把这个问题简化,但它是一个复杂的问题,所以最终变得很长。如果你能回答其中任何一部分,或者给出任何建议、提示、资源或任何有用的信息,都将非常有帮助(即使你不能直接解决我的所有问题)。我现在正在头痛难忍。 以下是我遇到的具体问题。请继续阅读下面的内容了解更多信息。 我正在寻求...

28得票3回答
如何从另一个模块调用导出的内核模块函数?

我正在编写一个API作为内核模块,提供设备驱动程序的各种函数。我在mycode.c中编写了三个函数。然后构建并加载了模块,然后将mycode.h复制到/include/linux中。在设备驱动程序中,我有一个#include 并调用这三个函数。但是当我构建驱动程序模块时,我会得到三个链接器警告...

21得票1回答
动态加载和弱符号解析

分析这个问题,我发现一些关于Linux上动态加载(dlopen)中弱符号解析行为的事情。现在我正在寻找规范来管理它。 让我们以一个例子为例。假设有一个程序a,它动态加载库b.so和c.so,按照这个顺序。如果c.so依赖于另外两个库foo.so(实际上在这个例子中是libgcc.so)和ba...

17得票4回答
Python中的符号表

如何查看Python源代码的符号表? 我的意思是,在实际运行程序之前,Python会为每个程序创建一个符号表。那么我的问题是,如何将该符号表作为输出获取?

14得票1回答
为什么在exec()内部的符号定义语句有时对本地符号表没有影响?

以下代码片段按预期工作:def test(): print(f'local symbol table before exec : {locals()}') exec('a = 0') print(f'local symbol table after exec : {l...

12得票3回答
符号表和哈希表数据结构的区别

在阅读不同的数据结构时,我发现编译器使用的符号表被归类为一种数据结构。 有人能解释一下符号表数据结构和哈希表之间的区别吗?

12得票2回答
如何解释 ELF 可执行文件中的动态符号表?

我正在研究如何解析 ELF 可执行文件的动态符号表(.dynsym)。我已经成功地解析了符号表 .symtab(每个符号占用 16 字节),使用 value 属性来表示符号的地址,name 属性来表示字符串在 .strtab 段中的偏移量。但是,我无法使用同样的方法解析动态符号表(.dynsy...