سلام.
فایل های EXE و DLL و SYS , .... فرمت PE یا همون ( Portable executable ) رو دارند .
فایل های اجرایی Linux هم فرمت ELF رو دارن .
در واقع هر فایل C یا CPP برنامه شما به یک Object File تبدیل میشه .
کامپایلر Object File ها رو میسازن و در آخر Linker این فایل ها رو با کتاخونه های ایستایی مورد نظرLink میکنه و برنامه نهایی رو درست میکنه .