Estou aprendendo C (ainda muito iniciante) no Linux usando o compilador GCC. Percebi que algumas bibliotecas, como a biblioteca usada com o math.hcabeçalho, precisam ser vinculadas manualmente quando incluídas. Estive vinculando nas bibliotecas usando vários sinalizadores do formulário -l[library-name], como -lmna biblioteca matemática mencionada acima.
No entanto, depois de alternar da linha de comando e / ou Geanypara Code::Blocks, notei que ele é Code::Blocksusado g++para compilar os programas em vez dos gccque eu estou acostumado (mesmo que o projeto seja definitivamente especificado como C). Além disso, Code::Blocksnão exige que as bibliotecas sejam vinculadas manualmente ao compilar - bibliotecas como a biblioteca de matemática apenas funcionam .
Eu tenho duas perguntas:
Em primeiro lugar, é "ruim" compilar programas C com o g++compilador? Até o momento, parece funcionar, mas, afinal, C ++ não é C e tenho certeza de que o g++compilador se destina a C ++.
Em segundo lugar, é o g++compilador que está fazendo a ligação automática das bibliotecas Code::Blocks?