【发布时间】:2013-08-04 20:47:32
【问题描述】:
C 和 C++ 中是否有任何方法可以根据我们的需要控制内存 ram 和寄存器?例如。将 ram 中的数据从一个位置移动到另一个位置,更改寄存器中的值等?
在 Java 中可以吗???
【问题讨论】:
-
你的“需要”是什么?您是否正在为最小的设备编程?
-
C 确实有一个“注册”关键字。在 1980 年代中期,通过谨慎使用它,我可以在许多功能上获得显着的性能提升。最近,编译器非常擅长有效地使用寄存器,以至于我无法获得任何好处。
-
如果您在台式机或服务器上编程,操作系统和编译器可以比您做得好一百万倍。即使在智能手机/平板电脑操作系统上,您也不太可能需要这样做。如果您正在编写一个没有操作系统的嵌入式系统,那么您可以并且需要做所有这些事情。
-
@PatriciaShanahan - 要记住的另一件事是,与 Vax 或 SPARC 或其他流行架构相比,英特尔架构的寄存器数量非常少。在 Intel 上,几乎没有足够的寄存器供编译器自己处理。
-
是的,帮助你的工具叫做编译器。