C 编译后变量名存储在哪里?

C 编译后变量名存储在哪里?,c,memory,C,Memory,当我写作时 int number=5 我知道5存储在内存中的某个地址。变量名编号存储在哪里?编译和链接机器代码后,不再需要变量名。机器代码只需要知道变量的位置。有些变量甚至可能存储在CPU寄存器中,根本没有地址 如果编译和链接时没有调试标志,则名称将不会存储在生成的可执行文件中 如果编译并链接调试标志,则这取决于系统。有些系统在可执行文件中提供了一个特殊的部分,其中包含某种表,例如名称和其他信息(如类型)。某些系统会将此信息存储在另一个文件中,而不是可执行文件。它将存储在调试数据中,或者将被丢弃

当我写作时

int number=5


我知道5存储在内存中的某个地址。变量名
编号
存储在哪里?

编译和链接机器代码后,不再需要变量名。机器代码只需要知道变量的位置。有些变量甚至可能存储在CPU寄存器中,根本没有地址

如果编译和链接时没有调试标志,则名称将不会存储在生成的可执行文件中


如果编译并链接调试标志,则这取决于系统。有些系统在可执行文件中提供了一个特殊的部分,其中包含某种表,例如名称和其他信息(如类型)。某些系统会将此信息存储在另一个文件中,而不是可执行文件。

它将存储在调试数据中,或者将被丢弃。编译后,您不再需要名称,它将在编译时存储在编译器内存中。之后,任何地方都没有空间放置
“number”