c - 编译器如何在内存中分配标识符

标签 c

我想知道......现在我正在尝试对一个包含 RAM、ROM、微处理器的嵌入式系统进行编程......

知道当我写下如下指令时我无法理解: 整数x; x=20;

当这些程序被编译并烧录到ROM内存时,它将在操作代码中... 我的问题 : 知道处理器何时调用 Int x 对应的操作码; 微处理器将在随机地址处保存内存位置。

现在..当处理器收到第二条指令x=20时...它将执行一条移动指令...但是微处理器如何知道它在哪里找到x变量

...................................................... ........................ 我的意思是...处理器如何知道为变量保留的内存位置的地址?!!!!

最佳答案

基本上,该指令只是编译器的一个标签。然后,编译器将每个 x 替换为地址或寄存器。这取决于架构及其优化可能性。

关于c - 编译器如何在内存中分配标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27951122/

相关文章:

c - 在 C 中将 2 个字符串相互匹配?

c - 在取消引用之前为未初始化的指针赋值

c - 如何解释这个位移位?

c - 仅使用 C 标准库获取 CPU 内核数?

c - 如何将文件逐行读入结构体?

c - 从文本文件创建二维数组

objective-c - 如何在iPhone上增加TCP "receive window"

c - 在 C 中使用结构或多维数组

c++编程问题

c++ - 在 C++ 中取消读取文件