Я на самом деле не хотел устраивать срач, помню про проблему со строками, это было давно. Все. Как оно сейчас в современном Майкрософте на 100% не могу утверждать. Но... как тогда все, зависимое от WinApi будет работать на винде? Потоки, синхронизация, файловая система и вот это все. В сорцах инклудится windows.h
про файлы не знаю, а потоки и синхронизация переписаны на своих объектах в stl-е
Собственно, для меня include windows.h(для windef? winapi?) - это привязка к платформе, а c++ всё ж таки кроссплатформенный язык. Ну и если там есть какие-то условные компиляции, как-то это не очень. Понятно, что в рантайме будут привязки к платформе, но в коде этого не хотелось бы видеть.