GCC не является технически Linux определенный компилятор. Это - стандарты совместимый c/c ++ компилятор, и я использую его для Windows-программ ежедневно. Его, вероятно, лучший, что Вы используете его, пока Вы не становитесь более довольными чем-то еще.
я рекомендую использовать распределение MinGW GCC. Это скомпилирует Ваши программы исходно для окон, пользуясь стандартной библиотекой, и т.д.
при поиске IDE у меня есть две рекомендации. Visual Studio является версией Microsoft, и хотя это имеет свои проблемы, это превосходно IDE для работы с кодом. Однако при поиске чего-то немного более легкого CodeBlocks также довольно хорош, и обладает дополнительным преимуществом способности использовать в основном любой компилятор, который Вы установили (включая несколько форм GCC и Microsoft Compiler, которая идет с Visual Studio), и способность открыть файлы проекта fro другие IDE. Плюс, это работает на Linux также, таким образом, Вы могли сделать тот переход еще легче на себе.
я лично предпочитаю GCC, но это - просто я. Если Вы действительно хотите решение Microsoft, VS является способом пойти.
Когда вы задаете вопрос типа «почему что-то работает?», Это подразумевает, что тот факт, что это работает, как-то удивляет вас. Невозможно ответить на вопрос, пока вы не объясните , почему вы находите это удивительным.
Почему это работает? Потому что в спецификации языка прямо сказано, что он должен работать. Другого ответа нет, пока вы не объясните свои опасения более подробно.