Мне всегда было любопытно, как одно расширение, EXE, может быть столь же универсальным, как и то, что если вы собираете программу сборки, вы получаете EXE в машинном коде для вашего процессора, но если вы компилируете C # или В другой программе .Net вы также получаете EXE-файл, за исключением того, что он запускается в надлежащей среде выполнения. Я не уверен, если это отличается от ОС к ОС (я думаю, что это так), но когда исполняется EXE, как определяется, как его выполнить?
В связанной заметке, если бы я писал свой собственный язык программирования, как бы я связал свою среду выполнения с этим механизмом?