<分区>
例如:
int a = 6;
int b = 5;
int c = a + b; // Who does this?
编译器会做吗?
如果是这样,一个从控制台输入中获取 a 和 b 值的程序怎么样? 在这种情况下,对象/exe 文件已经创建并且编译器只对源文件起作用,对吧?
<分区>
例如:
int a = 6;
int b = 5;
int c = a + b; // Who does this?
编译器会做吗?
如果是这样,一个从控制台输入中获取 a 和 b 值的程序怎么样? 在这种情况下,对象/exe 文件已经创建并且编译器只对源文件起作用,对吧?
最佳答案
在 C++ 中,编译器发出指令供处理器执行。
但是,编译器可能会优化常量并发出其他指令。在上述情况下,编译器可能会发出指令:
mov C, 11 ; Move the value 11 into register for the C variable.
对于 Java,编译器创建 Java 字节码供 Java 虚拟机执行。同样,编译器或 JVM 可以简化或优化指令。
编辑 1:从控制台读取
在 C++ 中,编译器针对您提供的语句发出指令,以从控制台读取值。如果您的程序中没有要从控制台读取的语句,编译器将不会发出任何从编译器读取的指令。
在 Java 中,类似于 C++,但 Java 字节码是由 Java 虚拟机 (JVM) 发出和执行的。
关于java - Java 或 C++ 源代码中的算术和逻辑运算由谁来完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28415827/