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?
Respuesta
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.
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
@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. –
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.
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.
- 1. ¿Cuál es la diferencia entre -ggdb gcc gcc -g y
- 2. ¿Cuál es la diferencia entre g ++ y gcc?
- 3. ¿Cuál es la diferencia entre make y gcc?
- 4. ¿Cuál es la diferencia entre --host y --target en gcc?
- 5. Diferencia entre CC, gcc y g ++?
- 6. diferencia entre -lgcc_s y gcc
- 7. ¿Cuál es la diferencia entre arm-eabi-gcc y arm-elf-gcc?
- 8. ¿Cuál es la diferencia entre los parámetros `-fpic` y` -fPIC` gcc?
- 9. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 10. ¿Cuál es la diferencia entre ".equals" y "=="?
- 11. Diferencia entre -Wconversion entre gcc y g ++
- 12. ¿Cuál es la diferencia entre {0} y ""?
- 13. Cuál es la diferencia entre = y: =
- 14. ¿Cuál es la diferencia entre .ToString (+) y ""
- 15. Cuál es la diferencia entre $ (...) y `...`
- 16. ¿cuál es la diferencia entre:.! y: r !?
- 17. ¿Cuál es la diferencia entre dict() y {}?
- 18. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 19. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 20. ¿Cuál es la diferencia entre + = y = +?
- 21. ¿Cuál es la diferencia entre " " y ""?
- 22. Cuál es la diferencia entre $ y jQuery
- 23. ¿Cuál es la diferencia entre los eventos Control.Enter y Control.GotFocus?
- 24. ¿cuál es la diferencia entre los navegadores y el nodo?
- 25. ¿Cuál es la diferencia entre los archivos .lib y .a?
- 26. ¿Cuál es la diferencia entre los algoritmos genéticos y evolutivos?
- 27. ¿Cuál es la diferencia entre los datos-dojotype y dojoType?
- 28. ¿Cuál es la diferencia entre todos los proyectos y subproyectos
- 29. ¿Cuál es la diferencia entre los métodos iterator y view?
- 30. ¿Cuál es la diferencia entre los archivos apklib y jar?
MinGW utiliza GCC, si no recuerdo mal. –
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
¿Su llave "h" está rota? –