If CPU can understand and execute binary files on its own, then why does it still need compiler to execute compiled code? For example when I compile my cpp program for addition it produce .exe file which i assume to contain binary instruction to add two given number. Then I uninstalled gcc compiler and try to run exe file, it wont run. it produce error like gcc compiler is missing. Why so?