什么是“符号”?

What is "Symbol"?

提问人:Aiden0704 提问时间:11/17/2023 更新时间:11/18/2023 访问量:21

问:

我正在学习框架和库 如果你看一下 Apple Documentation Archive 的 Framework Programming Guide,就会发现“Symbol”这个词经常出现,但我不明白这里“Symbol”这个词的含义 例如,我不知道“对于静态链接共享库,在链接时检查库中的符号以确保它们存在”这句话中“符号”的确切含义。

我在谷歌上查找了很多关于“符号”的信息,但我认为这不是我要找的 我可以要求一个简单的解释吗?

绑定 链接器 框架符号

评论


答:

0赞 vitsoft 11/18/2023 #1

编程语言中的符号是程序员为某个数值赋予的人类可读名称

有两种符号: 普通数字符号表示编写程序时指定的常量值,它不会更改,例如。Dozen EQU 12

地址符号代表程序中的位置,就好像你用手指指着程序的某一行说:这个地址将被命名。 在编写程序时,地址符号的确切值是未知的,这取决于链接器在最终文件中如何排列程序部分,以及在运行时将程序映像加载到内存中的位置。_start:

程序可以从几个单独编译的模块或库链接,并且每个模块可以引用在其他一些模块中公开定义的外部符号。链接器从链接的模块中读取符号表,对于声明为外部的每个符号,它查找在其他模块中定义为全局公共的同名符号。这就是我对你问题中引用的句子的理解。另请参阅汇编语言中的符号