Estoy aprendiendo C (todavía muy principiante) en Linux usando el compilador GCC. He notado que algunas bibliotecas, como la biblioteca utilizada con el math.h
encabezado, deben vincularse manualmente cuando se incluyen. Me he estado vinculando en las bibliotecas usando varios indicadores del formulario -l[library-name]
, como -lm
para la biblioteca matemática mencionada anteriormente.
Sin embargo, después de cambiar desde la línea de comando y / o Geany
hacia Code::Blocks
, noté que se Code::Blocks
usa g++
para compilar los programas en lugar de los gcc
que estoy acostumbrado (a pesar de que el proyecto se especifica definitivamente como C). Además, Code::Blocks
no requiere que las bibliotecas se vinculen manualmente al compilar, las bibliotecas como la biblioteca matemática simplemente funcionan .
Tengo dos preguntas:
En primer lugar, ¿es "malo" compilar programas C con el g++
compilador? Hasta ahora parece funcionar, pero después de todo, C ++ no es C y estoy bastante seguro de que el g++
compilador está destinado a C ++.
En segundo lugar, ¿es el g++
compilador el que está haciendo el enlace automático de las bibliotecas Code::Blocks
?