Votre navigateur est obsolète. Téléchargez un navigateur moderne, par exemple FireFox.
Léa-Linux : Forum
Le forum de Léa abrite des discussions autour des Logiciels libres.
Syndication
  • RSS ForumForum complet
  • RSS Forum - DéveloppementForum - Développement
  • RSS Forum - Développement - 327358Cette discussion

Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Important : quand vous posez une question, n'oubliez pas de nous donner les indications suffisantes pour que nous puissions répondre. En effet, la divination n'est pas le fort du Linuxien averti. Pour une meilleure compréhension, le bon usage de la grammaire et de l'orthographe est fortement encouragé. En particulier, le langage SMS est à éviter absolument. En cas d'abus, il pourra être censuré sans autre forme de procès.
Les messages dont le contenu est illégal (incitant à la haine - raciale ou autre, diffamant), ou dont le contenu est sans rapport avec le sujet du forum, ou qui sont parfaitement stupides ou hors sujet seront supprimés sans pitié. Il pourra même être fait appel au fournisseur d'accès du coupable pour faire cesser ses agissements.
» Index du forum » Développement » non reconnaissance de la fonction sin()
Aller à la discussion: PrécédentSuivante
Action: Nouveau sujetChercherS'authentifier
non reconnaissance de la fonction sin()
Auteur: SKOUBY (IP enregistrée)
Date: le 12 août 2007 à 06:47

Bonjour svp, j'ai un petit prob dans Kdevelop. JE compile le code

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main (void)
{
double result, x=0.5;
result = sin(x);
printf("The sine of %lf is %lf\n", x, result);
return EXIT_SUCCESS;
}

et malgré l'ajout de la librairie tgmath.h
on ne reconnait toujours pas la fonction sinus.

j'utilise Mandriva 2007.0.
Aidez-moi svp.

Re: non reconnaissance de la fonction sin()
Avatar
Auteur: abgech (IP enregistrée)
Date: le 12 août 2007 à 08:53

SKOUBY a écrit :


et malgré l'ajout de la librairie tgmath.h on ne reconnait toujours pas la fonction sinus.


Les fichiers *.h ne sont pas des librairies ! Ce sont des fichiers inclus au niveau du code source, qui contiennent, entre autres, les prototypes des fonctions.

Sous Linux (et les Unix et dérivés), il existe essentiellement deux types de librairies:
1) Les librairies statiques, dont le contenu est incorporé au moment du link-edit, lors de la compilation.
2) Les librairies partagées, dont le contenu est incorporé lors du chargement du programme en mémoire. C'est une explication plus simple que la réalité, puisqu'en fait, il n'existe qu'une seule copie en mémoire d'un module de librairie partagée, quel que soit le nombre de processus qui l'utilise, mais cette explication convient pour une première approche.

Pour ton problème pratique, la fonction sin() se trouve dans la librairie statique libm.a, tu dois indiquer au linker que tu souhaites utiliser cette librairie en ajoutant dans ta ligne de commande de gcc l'option : -lm

..................
Parce qu'il avait une clôture à utiliser, l'homme invente la propriété privée. --- F. Cavanna

Re: non reconnaissance de la fonction sin()
Auteur: SKOUBY (IP enregistrée)
Date: le 12 août 2007 à 19:58

MERVEILLEUX !!!!!
franchement j'ai passé ma soirée a chercher l'erreur !!!
BOn alors,pour ceux qui auront le même prob : les informations sont sur ...Lea Linux bien sur à l'adresse : [www.lea-linux.org]

sinon si vous utilisez pas la console et plutot Kdev alors
Projet> Options du projet>
"Options de COnfigure">C>
Drapeau de compilateur (CFLAGS) et on ajoute -lm (moi j'avais avant (-O0 -g3 )

Voila !!!



Nom du forum : (antispam) - (en développement:saisir un texte pour le message, rempli cette zone automatiquement)
Votre nom: 
Votre email: 
Sujet: 

 
Ce forum est boosté par Phorum.