некоторый указатель на понимание исходного кода GCC

StackOverflow https://stackoverflow.com/questions/2504365

Вопрос

Я студент, работающий над оптимизацией GCC для многоядерного процессора.Я попытался просмотреть исходный код, но проследить за ним сложно, так как мне нужно добавить немного кода в серверную часть.Кто-нибудь может предложить какой-нибудь хороший ресурс, который объясняет прохождение кода через различные этапы.Также предложите какую-нибудь среду разработки для отладки GCC, главным образом для пошагового выполнения кода.Возможно ли это в Windows?

Это было полезно?

Решение

В качестве отправной точки см. Ссылки и Избранные чтения на сайте GCC.Особый интерес для вас, я думаю, представляют:

Если вы хотите разрабатывать в Windows, вам, вероятно, нужно начать с MinGW (Минималистичный GNU для Windows) Исходный код пакета компиляторов (он включает отладчик GNU GDB), который является портом GCC для Windows.

Для создания комфортной среды разработки я мало чем могу помочь, потому что я не занимаюсь разработкой на C ++.Но я полагаю, что хорошая IDE для C / C ++ - это то, что вам нужно:взгляните на это сравнение, существует множество бесплатных IDE с открытым исходным кодом для Windows.

Обновить: Я думаю , что ICI также может представлять для вас интерес:

Тот Самый Интерактивный Интерфейс Компиляции (или сокращенно "ICI") - это плагин система с высокоуровневым независимым от компилятора и низкоуровневым зависящим от компилятора API для преобразования текущих компиляторов в совместные открытые модульные интерактивные наборы инструментов. Платформа ICI действует как "промежуточное программное обеспечение" интерфейс между компилятором и определяемыми пользователем плагинами.Он открывает и повторно использует производственную инфраструктуру компилятора для обеспечения анализа программ и инструментария, точной оптимизации программ, простого прототипирования новых разработок и исследовательских идей, избегая при этом создание новых инструментов компиляции с нуля .Например, он используется в MILEPOST GCC для автоматизации компиляции и проектирования архитектуры и программирования оптимизации на основе статистического анализа и машинного обучения.Это должно обеспечивать универсальную самонастройку компиляторы, адаптируемые к разнородным, реконфигурируемым многоядерным архитектурам, начиная от суперкомпьютеров и заканчивая встроенными системами.

..как и остальные проекты в рамках Коллективная НАСТРОЙКА зонтик.

Примечание: Писать "компиляторы - одна из самых сложных существующих программ", как написала BlueRaja в комментариях, является преувеличением:существуют очень простые компиляторы и очень сложные.Но в теории компиляторов (после того, как вы ее изучили) нет ничего эзотерического.GCC - это сложная программа, которую можно понимать как угодно БОЛЬШОЙ, плохо документированная программа существует1.Так что ризванхудда, не отчаивайся:начните изучать доступную документацию, а затем обратитесь к разработчикам GCC (на irc-канале GCC, как предложено nvl или Список рассылки разработчиков GCC) объяснить то, что плохо (или вообще не задокументировано).

  1. На самом деле понимание программы является активной областью исследований.

Другие советы

Я бы предложил вам использовать IRC-канал GCC, ИМХО, он предназначен для обсуждения развития GCC.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top