C++编译器在程序中使用哪些不同的寄存器? SP和FP有什么区别?如果可能的话,请给我指出一些详细的参考文档。很想知道编译器中发生的底层事情。是否可以在 Visual Studio 中执行程序时查看这些寄存器?
您可以要求编译器输出它从源代码生成的汇编代码,它是您正在寻找的 /FA 和 /Fa 编译器命令行参数:msdn 链接到 /FA 编译器参数。
在运行时,当您在调试器下运行程序时,您可以打开“寄存器”窗口,并查看执行过程中值如何变化 - 有时它非常有用。操作方法如下:关于“寄存器”窗口的 msdn 文档
如果您要进行更认真的调试,我建议您花一些时间学习使用此功能:Windows 调试工具,而不仅仅是使用内置的 VS 调试器。
您问题的答案取决于您要编程的硬件。 每个处理器系列都有自己的架构,因此也有自己的寄存器。
这是 Wikipedia 上关于英特尔芯片的一个很好的参考。