Question: Consider a program that consists of two object modules below When this program is compiled and executed on an x86-64 Linux system, it prints the

Consider a program that consists of two object modules below

Consider a program that consists of two object modules below When thisprogram is compiled and executed on an x86-64 Linux system, it prints

When this program is compiled and executed on an x86-64 Linux system, it prints the string 0xfffffff3 and terminates normally, even though function p2 never initializes variable main. Can you explain this?

/* foo.c */ void p2(void); int main()\{ p2(); return 0; \} /* bar.c */ \#include char main; void p2( )\{ printf( "0x\%x ", main)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!