2010-11-02 26 views
8

He estado programando durante un tiempo en un nivel intermedio por supuesto. He estado ejecutando el mismo código en estos diferentes compiladores (principalmente GCC y MinGW), pero no puedo distinguir la diferencia entre estos compiladores. Quiero decir de qué manera es el uno mejor que el otro? ¿O qué los hace diferentes? ¿Hay alguna necesidad especial en la que pueda querer usar GCC y para otros tal vez MinGW?¿Cuál es la diferencia entre los compiladores Borland, GCC y MinGW?

+0

MinGW utiliza GCC, si no recuerdo mal. –

+0

Lo principal del compilador de Borland es que ya no pertenece a Borland (o como se llame este año). Lo vendieron a Embarcadero. – sbi

+2

¿Su llave "h" está rota? –

Respuesta

5

MinGW y GCC son en realidad el mismo compilador de abajo. MinGW es un puerto GCC para la plataforma de Windows.

Las razones por las que usaría compiladores diferentes (como en, sobre la base de diferentes front-ends) son:

  • tiene una biblioteca de sólo binario que está garantizado para jugar bien sólo si se utiliza compiladores particulares y esos son diferentes compiladores para diferentes plataformas
  • Tiene que dirigirse a múltiples plataformas, y no hay un compilador que se dirija a todas sus plataformas
  • Tiene un código heredado que usa extensiones de compilador particulares en diferentes plataformas.
+0

por lo que decir, yo es si obtuve un archivo binario compilado de un compilador, ¿no se ejecutará si intenté ejecutarlo a través de otro compilador? – Rahul

+1

@Rahul: Una vez que tienes un ejecutable, ya no necesitas el compilador para ejecutarlo. Si tiene una biblioteca compilada con el compilador A, entonces no se puede usar con el compilador B, a menos que ambos compiladores tengan como objetivo la misma plataforma y uno de ellos haya documentado que es compatible. –

4

En caso de duda, utilice gcc. Es un compilador venerable, antiguo y bien probado que es gratuito y se usa mucho, especialmente en Linux. minGW es un puerto de algunas utilidades de desarrollo de GNU para Windows, incluido gcc.

No he usado el compilador de Borland. Idealmente, sus programas compilados con él deberían ejecutarse exactamente como cuando se compilan usando gcc.

Gcc y Borland básicamente hacen lo mismo. Simplificado, toman los archivos del código fuente como entrada y escuchan ejecutables como salida. Su implementación interna es muy diferente, pero esa no debería ser su preocupación.

Las diferencias que deberían importarle son sus banderas de línea de comando y mensajes de error/advertencia cuando algo sale mal.

0

Una gran diferencia es que Borland se enfoca en el sistema de Windows solamente (al menos cuando lo estaba usando) y como tal, tiene una gran cantidad de bonitos y personalizados comandos específicos de Windows y bibliotecas. GCC es mucho más genérico que puede llevar mucho más trabajo hacer las mismas cosas que Borland puede hacer sin mucho alboroto.

Cuestiones relacionadas