A virtual machine and no virtual machine - stack and trace

Here I read a lot of questions that explain what stack and heap are, for example. this one: What and where is the stack and heap? that was very helpful.

I understand that high-level languages ​​are compiled into an intermediary language, for example. byte code for Java and MSIL for .NET programs. Then MSIL and byte code are compiled into machine code.

I realized that intermediary languages ​​use the stack and heap, and then the program is compiled into machine code, which depends on the platform. case for windows.

However, in a question that I linked to some of the respondents, for example, Brian R. Bondi provides examples of C and C ++. I know that C ++ does not have a virtual machine and is compiled directly into machine code. My question is: are there programming languages ​​that do not have a virtual machine, have a stack and a bunch? In the case of these programming languages, do they use the stack and heap as an intermediate representation when compiling directly into machine code?

Update I understand that there are virtual machines based on the stack and registration. The question I ask is this: are all physical machines registered?

+2
source share
1 answer

I found that there are examples of physical machines where processors have a set of instructions based on stacks, for example. RTX2000 series, UCSD Pascal p-Machine and Brougher B5000 and B6000 machines (taken from this question: Does a stack-based machine depend on a register-based machine? ). It seems that the actual instruction set used by the processor may be stack based.

0
source

All Articles