اگه معماری پردازنده یکی باشه، مسلما دستورات زبان به صورت یه شکل به زبان ماشین تبدیل میشن. مثلا دستور
if روی هر سه تا سیستم عامل خروجی کد ماشینش برابر هست. اما مساله اینه که فایل های اجرایی هم «فرمت» دارن و
هر سیستم عاملی فرمت مخصوص به خودش رو میخونه فقط. کامپایلر برای هر سیستم عامل کلی کد دیگه به
فایل باینری نهایی اضافه میکنه تا قابل درک باشه برای اون سیستم عامل، و این کدهای اضافی هم برای هر کدوم از
این سیستم عامل ها متفاوت هست. برای همینه که ممکنه یه برنامهی واحد روی همون پردازنده، توی لینوکس یا ویندوز
اجرا نشه...