IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Dll mathématiques pour Linux


Sujet :

Linux

  1. #1
    Membre averti Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Points : 345
    Points
    345
    Par défaut Dll mathématiques pour Linux
    Bonjour, je developpe en ce moment une DLL contenant des fonctions mathématiques, de la simple addition au PGCD en passant par perimètres aires et volumes de figures géométriques..., [voir : http://sayro.free.fr/SamSoft/logiciels/ … ll_doc.txt] je voudrais la créer avec vous (programmeurs C/C++) , il faudrait simplement à partir de ce forum (ou de mon forum : http://www.samsoft.frbb.net , dans la rubrique "samsoft_maths DLL") , mettre des idées sur de nouvelles fonctions (comme des fonctions de conversions ou des fonctions permettant de dessiner un cercle, un triangle...).
    Grâce à ma dll ou plutôt à notre dll (pour ceux qui participeront), j'aimerai qu'une communauté se crée pour réaliser une calculette de type "avancée" en mode graphique (pas console) en C ou C++ intégrant toutes les fonctions de la dll, cela permettra de créer peut-être "la futur calculette" d'une distribution de Linux !

    Pour l'instant, ma dll est disponible pour Windows (prochainement sur Mac) mais je voudrai tant qu'elle le soit sur Linux.

    Voilà les sources de ma dll (dans un zip) : http://sayro.free.fr/SamSoft/logicie...Soft_Maths.zip

  2. #2
    Membre confirmé Avatar de Lunixinclar
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 416
    Points : 489
    Points
    489
    Par défaut
    Salut,
    L'idée est bien.

    C'est dommage d'utiliser math.h et sqrt(). Quite à faire une lib en C, autant exploiter la puissance du C, pas juste un wrapper. Ecrire la fonction sqrt n'est pas impossible... Pour l'instant il faut hélas linker avec lm pour que ça marche.

    La compilation sous linux pose certains problèmes.

    Dans l'en-tête:
    • Supprimer TOUS les "SAMSOFT_MATHSDLL_API"
    • c'est là qu'il faut inclure <math.h>, pas dans le fichier c!
    • à quoi bon un extern const double PI; si dans le fichier C on trouve const double PI = 3.1415926535897932384626433832795; et include math.h???
    • on peut trouver un autre préfixe que ss ou SS? Genre math_
    • stdlib n'est pas inclus -> il ne trouve ni malloc() ni sprintf car stdio n'y est pas non plus.
    • ss_calc_a_b_fct_affine(): fais lui retourner une structure plutôt qu'un buffer inexploitable. Et insistes bien sur le free() car cette fonction appelle malloc. Imagines un programmeur a envie d'invoquer 10000 fois cette fonction en boucle, il ne faudra pas s'étonner si le système commence à killer certains processus pour gagner un peu de place.
    • dans ss_pgcd() il y a des variables inutilisées. Pourquoi empiler des doubles inutiles sur le stack?
    • La fonction double ss_addition(double a, double b) est plus rapide que a+b? Linker une librairie dynamique pour cette fonction je n'y avais jamais pensé. C'est à dire, pour additionner des shorts, pas besoin d'utiliser des doubles!!! Max(a,b) ou min, à la rigueur!
    • sinus, cosinus, tangeante, puissance... Ils sont dans math.h c'est ça?


    Quelle librairie graphique est envisagée?

    Ajouter les conversions monétaires, de distance et de température. Et les fonctions 3D, ça pourrait en intéresser certains.

    Voilà, ça compile mais avec un peu de boulot.

  3. #3
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 602
    Points : 7 837
    Points
    7 837
    Par défaut
    Citation Envoyé par Lunixinclar
    Quelle librairie graphique est envisagée?.
    Il existe des librairies qui fonctionnent sous Linux/Windows/MAC : autant en profiter

  4. #4
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Je propose de modifier le fichier d'en-tête de la manière suivante:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #ifndef H_SAMSOFT_MATHSDLL_20070214181222
    #define H_SAMSOFT_MATHSDLL_20070214181222
     
    #if defined(WIN32)
    #    ifdef SAMSOFT_MATHSDLL_BUILD
    #        define SAMSOFT_MATHSDLL_API __declspec(dllexport)
    #    else
    #        define SAMSOFT_MATHSDLL_API __declspec(dllimport)
    #    endif /* SAMSOFT_MATHSDLL_BUILD */
     
    #elif defined(linux)
    #    define SAMSOFT_MATHDLL_API
    #endif

    Thierry

Discussions similaires

  1. [Kylix] Erreur "File not Found : Windows.dcu"
    Par derrick23_2003 dans le forum EDI
    Réponses: 4
    Dernier message: 27/12/2005, 11h18
  2. Réponses: 3
    Dernier message: 24/10/2005, 09h22
  3. Antivirus pour Linux?
    Par barucca dans le forum Sécurité
    Réponses: 13
    Dernier message: 16/04/2004, 18h45
  4. Compilateur - editeur C++ pour Linux
    Par Torpedox dans le forum Choisir un environnement de développement
    Réponses: 5
    Dernier message: 15/09/2002, 02h16
  5. Réponses: 0
    Dernier message: 25/07/2002, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo