Если среда выполнения статически связана (а не динамически), то EXE-файл будет автономным, и вам не понадобится библиотека времени выполнения.Однако на самом деле вам даже не нужна библиотека времени выполнения, если ваш код может делать все без вызова стандартных библиотечных функций.
Что касается API-интерфейсов Windows, во многих случаях вам не нужна строго библиотека импорталибо - особенно если вы загружаете адреса динамически через GetProcAddress
.Некоторые инструменты разработки даже позволят вам напрямую ссылаться на библиотеки DLL (и будут генерировать заглушки методов или что-то еще для вас).MS пытается гарантировать, что имена для документированных вызовов API остаются одинаковыми между версиями.Недокументированные функции, не так много ... но в любом случае совместимость обычно не является главной проблемой, когда вы намеренно пишете вредоносное программное обеспечение.