В качестве отправной точки см. Ссылки и избранные показания на сайте GCC. Я думаю, что особый интерес для вас представляют:
Если вы хотите разрабатывать в Windows, вам, вероятно, нужно начать с MinGW (минималистский GNU для Windows) исходников Compiler Suite (включает отладчик GNU GDB), который является портом GCC для Windows.
Для комфортной среды разработки я не могу сильно помочь, потому что я не занимаюсь разработкой на C ++. Но я полагаю, что вам нужна хорошая IDE для C / C ++: взгляните на это сравнение , есть много бесплатных / открытых IDE для Windows.
Обновление: Я думаю, ICI также может представлять интерес для вас:
Интерфейс интерактивной компиляции
(или «ICI» для краткости) это плагин
система с высоким уровнем
независимый от компилятора и низкоуровневый
зависимый от компилятора API для преобразования
текущие компиляторы в совместные
открытые модульные интерактивные наборы инструментов.
Структура ICI действует как «промежуточное программное обеспечение»
интерфейс между компилятором и
определяемые пользователем плагины. Открывается
и повторно использует качество продукции
инфраструктура компилятора для включения
анализ программ и приборостроение,
оптимизация мелкозернистой программы,
простое прототипирование новой разработки
и исследовать идеи, избегая
создание новых инструментов компиляции из
царапина. Например, он используется в
MILEPOST GCC для автоматизации компилятора и
архитектурный дизайн и программа
оптимизации на основе статистических данных
анализ и машинное обучение. Это
должен включить универсальную самонастройку
компиляторы, адаптируемые к разнородным,
реконфигурируемый, многоядерный
архитектуры от
суперкомпьютеры для встроенных систем.
.. как и остальные проекты под зонтиком Collective TUNING .
Примечание: Писать «компиляторы - одна из самых сложных программ, которые есть», как писал BlueRaja в комментариях, является преувеличением: существуют очень простые компиляторы и очень сложные компиляторы. Но в теории компилятора (как только вы ее изучите) нет ничего эзотерического. GCC - это сложная программа, под которой понимается BIG , плохо документированная программа 1 . Так что rizwanhudda не отчаивайтесь: начните изучать доступную документацию, а затем попросите разработчиков GCC (на канале irc GCC, как , предложенный nvl или список рассылки разработчиков GCC ), объяснить, что такое плохо (или не совсем) задокументировано.
- На самом деле понимание программ является активной областью исследований.