I know there are several types of memory allocation. Taking C as language example, we have static allocation, stack allocation, heap allocation.
I understand that the static allocation is done by compiler, but the other two takes place on run time. Who is responsible for that, is it the Compiler, Process or the Operating System?
I'm basically asking if the compiler is involved in running a program?
free) the memory. Stack it is done at runtime, by assembler code generated by compiler at compile time.