algunos puntero al código fuente comprensión GCC
-
22-09-2019 - |
Pregunta
Estoy trabajando en la optimización de los estudiantes de GCC para el procesador multi-núcleo. He intentado pasar por el código fuente, es difícil de seguir a través de él ya que necesito añadir algo de código para el extremo posterior. ¿Puede alguien sugerir algún recurso buena que explica el flujo de código a través de las diferentes fases. También sugieren algunos entorno de desarrollo para la depuración de GCC principalmente a paso a través del código. ¿Es posible en las ventanas?
Solución
Como punto de partida ver Enlaces y Lecturas seleccionadas en GCC sitio. De particular interés para usted, creo, son los siguientes:
- GNU C Compiler Internos
- Compilación de programación funcional Idiomas utilizando GCC - Las llamadas de cola por Andreas Bauer
- Porting GCC para Dunces por Hans-Peter Nilsson
Si se quiere desarrollar en Windows es probable que tenga que empezar desde MinGW (minimalista GNU para Windows) fuentes compilador suite (que incluye GNU depurador GDB), que es un puerto de GCC a Windows.
En un entorno de desarrollo cómodo no puedo evitar tanto porque no desarrollo en C ++. Pero supongo que un IDE bueno para C / C ++ es lo que necesita: echar un vistazo a esta comparación , hay muchos entornos de desarrollo de código libre / abierto para Windows.
Actualización: ICI puede también será de interés para usted:
La interactivo interfaz Compilación (O 'ICI' para abreviar) es un plugin sistema con un alto nivel compilador independiente y de bajo nivel compilador dependiente API para transformar compiladores actuales en colaboración conjuntos de herramientas interactivas abiertas modulares. los ICI marco actúa como un "middleware" interfaz entre el compilador y el plugins definibles por el usuario. Se abre y reutiliza la producción de calidad infraestructura de compilador para permitir análisis de programas e instrumentación, optimizaciones del programa de grano fino, simples prototipos de los nuevos desarrollos y la investigación de las ideas, evitando la construcción de nuevas herramientas de compilación de rasguño. Por ejemplo, se utiliza en MILEPOST GCC para automatizar y compilador diseño de la arquitectura y el programa optimizaciones basado en estadística análisis y aprendizaje automático. Eso debería permitir la auto-tuning universales compiladores adaptables a heterogénea, reconfigurable, multi-núcleo arquitecturas que van desde superordenadores a los sistemas embebidos.
.. como el resto de proyectos en el Colectivo paraguas AJUSTE .
Nota: Escritura "compiladores son uno de los programas más complejos que hay", como escribió BlueRaja en los comentarios, es una exageración: hay compiladores muy simples y compiladores muy complejos. Pero en la teoría del compilador (una vez que haya estudiado) no hay nada esotérico. GCC es un programa complejo de entender como lo que sea GRANDE , el programa pobremente documentada por ahí 1 . Así rizwanhudda no se desanime: iniciar el estudio de la documentación disponible y luego pedir a los desarrolladores de GCC (GCC en el canal de IRC, como sugerido por NVL desarrolladores de GCC lista o correo ) para explicar lo que es poco (o nada) documentado.
- programa de comprensión es un campo activo de investigación.
Otros consejos
Yo sugeriría usted a utilizar el GCC canal IRC , que está destinado para la discusión de desarrollo de GCC.