Возможностей windows для этого будет мало. В штатной поставке идет наверное только .net компилятор (это c# или js.net/vb.net где то с win8), т.е. с помощью .net можно сгенерировать текст программы и скомпилировать ее командной строке или
кодом, получишь exe
но для .net виртуальной машины.
------------------------
Для создания своего языка программирования и интерпретатора есть свои инструменты, и много, для питона например
lexer, но вот чтобы сразу и
компилятор в нативный код получился, уже сложнее, все в основном не заморачиваются бинарным кодом и переводят в си язык с стараясь следовать posix тогда получившаяся программа будет кросплатформенной (или относительно легко таковой сделать) а уже получившийся код компилируют в бинарник.
Но если речь в принципе о задаче и не важно как она будет решена, наиболее эффективный способ использовать
llvm. И хотя тут так же будет не нативный код а байткод для виртуальной машины llvm, это все равно будет лучше, так как благодаря современным технологиям, виртуальная машина многие места программ оптимизирует в процессе выполнения и они
могут работать даже быстрее нативного бинарника (сам в шоке, стремовый парсер json у меня на llvm работает чуть ли не в 2 раза быстрее gcc, который быстрее в 2 раза майкрософтовского)
p.s. ой тяжко тебе будет с windows, не невозможно а просто сложно, речь о создании и настройки окружения для получения результата... даже кросскомпиляция из linux в windows может оказаться проще, поэтому сразу смотри в сторону cygwin или даже wsl подсистемы