S
sternr
Hi,
In C\C++, method invocation is translated to the following behaviour:
1. push the method arguments to the stack
2. move the program counter to the method's instrunctions address
3. the new method will always start with the following instruction set:
push %ebp
move %esp, %ebp
push %edi
push %esi
pusb %ebx
4. and will end with the reverse code (pop).
My question is: are there any differences in this behaviour between different C compilers (under linux)?
If so, could you give an example?
Thanks!
--sternr
In C\C++, method invocation is translated to the following behaviour:
1. push the method arguments to the stack
2. move the program counter to the method's instrunctions address
3. the new method will always start with the following instruction set:
push %ebp
move %esp, %ebp
push %edi
push %esi
pusb %ebx
4. and will end with the reverse code (pop).
My question is: are there any differences in this behaviour between different C compilers (under linux)?
If so, could you give an example?
Thanks!
--sternr