Pular para o conteúdo

Funçaõ sqrt [RESOLVIDO]

Responder tópico
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
  • Denunciar
  • Indicar

1. Funçaõ sqrt [RESOLVIDO]

Enviado em 26/06/2013 - 08:59h

Eu estava tentando compilar, e não consegui dava, erro.

Depois que eu coloquei o -lm no final, deu certo!

gcc Programa.c -o Pro -lm

Sem -lm não compila. Porque? O que o -lm faz?



O link:


http://www.vivaolinux.com.br/topico/C-C++/funcao-sqrt

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

3. Re: Funçaõ sqrt [RESOLVIDO]

Enviado em 26/06/2013 - 09:21h

Desculpa cara, tô começando a programar agora... Dei uma lida, mas ainda não entendi muito bem (já fui na Wikipédia).

Você disse:

Por padrão, a libm não é linkada, por isso é necessário declarar ela para o gcc.

Bibliotecas como stdio.h e stdlib.h , estão na libc, que por padrão são linkadas


"Bibliotecas como stdio.h e stdlib.h , estao na libc, que por padrão são linkadas.


libc é uma biblioteca que contém outras bibliotecas.


Não sei se você ainda tá ai, mas...

Desculpa a pergunta besta, é que eu tô começando agora, então sabe, né?!!

4. Re: Funçaõ sqrt [RESOLVIDO]

Enviado em 26/06/2013 - 09:34h

Quando você declara o header como stdio.h para dar um printf, o gcc precisar carregar a biblioteca com a implementação do printf que no caso está na libc. Esta por padrão sempre está carregada.

Isso implica diretamente em tamanho do programa, pois é realizado de forma estática.

Quanto a libm, ela não é definida para linkar por padrão, então quando você passou -lm, disse para o gcc que a libm deve ser utilizada no seu programa.

A função sqrt está declarada no header math.h, mas sua implementação está na biblioteca libm.

Para entender melhor como funciona essa etapa de compilação e linkagem, leia esse link:

http://www.pontov.com.br/site/cpp/46-conceitos-basicos/95-compilacao-de-programas-cc

Espero ter ajudado.

5. Re: Funçaõ sqrt [RESOLVIDO]

Enviado em 27/06/2013 - 09:43h

Brigado, cara!

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

Entre na sua conta para responder.

Fazer login para responder