我花了很长时间学习 TOC 和编译器设计,但还没有完成,但我对这些概念感到满意。另一方面,我对汇编和机器代码的了解非常浅,并且我一直渴望/需要连接两个方面(代码的 HLL 和 LLL 表示),因为我正在学习 C++,非常注意性能和优化讨论。
C++ 是一种静态类型语言:
我的问题是:当我们的变量写成代码语句中的表达式时,所有这些变量(和其他具有标识符的实体)是否在运行时变成,仅仅是寻址到虚拟内存位置的指令(对于静态和全局)和与局部变量的堆栈地址相关的寻址?
我的意思是,在包括语义和句法验证在内的成功编译之后,将运行时的数据作为目标内存字节的保证实体而不考虑任何标识符或任何检查,不再需要符号表是不明智的吗?
如果我的问题似乎是由于缺乏学习努力而导致的问题类型(我希望不是),请告诉我这一点,并告诉我在哪里阅读。如果是这样的话,老实说,因为我现在专注于 C++,还没有机会对低级语言有充分的了解,我提前为此道歉。