观看记录
  • 我的观影记录
登录
什么是符号表?

什么是符号表?

符号表是编译器中用于存储有关变量、函数和对象的信息的关键数据结构。它将标识符映射到相关数据,确保代码被正确理解和执行。通过管理范围和上下文,它是程序语义的支柱。想知道它如何简化编码和调试吗?让我们更深入地探讨它在编程中的关键作用。

计算机系统使用符号表作为集中信息和减小程序大小的一种方式。这些表的作用就像密码的钥匙一样;一个符号或字符串被放置在另一个通常更大的信息旁边。当程序读取与符号表关联的符号时,程序会引用该表并获取信息而不是符号。这使得大量信息或经常重复的结构只有一个条目,从而减少了程序的整体大小。

符号表背后的概念非常简单。单个表包含程序使用的广泛信息,每个信息都有自己的条目和唯一的关联符号。这些信息可以是代码字符串、调试信息、内存位置,或者程序可以用来运行的任何内容。代码只是使用其唯一符号引用该表,而不是将这些信息包含在程序中。男子手持计算机

符号表在两个地方很常见:将代码编译成程序以及链接多个程序使用的库。当在程序中使用时,实际的表通常会在编译时被吸收到程序中或制成共享库。将列表分开是不常见的,因为更改列表可能会对程序产生极端后果。即使表在此过程中进行了转换,它仍然是相同的基本内容,只是与其他代码一起包含在内。

当在链接库中使用符号表时,它如何使用的可能性工作范围可以大幅扩展。链接库是假定程序随时可用的一组信息。这些库通常由操作系统或一系列操作系统共享全部由同一家公司制作的相关程序。

每个库都包含有关某些主题的信息。一个库可能包含用于绘制操作系统用户界面的窗口边框的各种编程,而另一个库可能包含有关一组特定程序在内存中存储信息的位置的信息。由于链接库可能包含这种随机分类的信息,因此它们通常包含符号表。

通过将符号表合并到链接器中,可以在程序系列中共享符号。这允许多个程序随时访问相同的数据。如果大量程序都需要相同的信息,则将其包含在库的符号表中会大大减少总程序组的大小。

切换深色外观
留言
视频编辑修改
回到顶部
首页
手机数码
医疗健康
金融管理
社交情感
无名