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

C Discussion :

Erreur de code


Sujet :

C

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Points : 83
    Points
    83
    Par défaut Erreur de code
    Bonsoir,

    J'ai une erreur que je ne comprend pas trop, je parviens à compiler mais voici le message d'erreur lorsque je l'execute:

    the value of ESP was not properly saved across a function call.
    This is usually a result of calling a function declared with one coming convention with a function pointer eclared with a different calling convention
    Merci.

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut Re: Erreur de code
    Citation Envoyé par petdelascar
    J'ai une erreur que je ne comprend pas trop, je parviens à compiler mais voici le message d'erreur lorsque je l'execute:
    Merci de copier-coller et non de recopier en faisant des fautes...
    the value of ESP was not properly saved across a function call.
    This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention
    Peut être que tu utilises une bilbiothèque qui n'a pas été recompilée pour ta cible, ou avec tes reglages...

    Ca peut aussi être un gros bug dans le code, genre pointeur non initialisé...

    Essaye d'isoler le problème et de poster le code en expliquant le contexte en détail.
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Points : 83
    Points
    83
    Par défaut
    En fait il s'agit d'une fonction d'une bibliothèque qui fonctionne, que j'ai copié et nommé sous un nom différent et que j'ai intégrée à mon code dans le but futur de la modifier. J'ai pris soin de vérifier que toutes les fonctions qu'elle contenait pouvaient être appelées en lisant la doc de la bibliothèque mais il subsiste une erreur. Je vous remercie de m'aider.

  4. #4
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par petdelascar
    <snip 0 lignes de code> Je vous remercie de m'aider.
    Sans voir une version réduite au minimum mais compilable du code qui montre le problème, je ne vois pas comment.
    Pas de Wi-Fi à la maison : CPL

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Points : 83
    Points
    83
    Par défaut
    Voici le code entier, il se compile bien avec ma biblio GSLLIB:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    #include <stdlib.h>
    #include <string.h>
    #include <stdio.h>
    #include <gsl/gsl_math.h>
    #include <gsl/gsl_vector.h>
    #include <gsl/gsl_matrix.h>
    #include <gsl/gsl_linalg.h>
     
    #include <gsl/gsl_linalg.h>
     
    #include "gsl_functions_pinv.h"
     
    int
    gsl_elinalg_complex_QR_decomp (gsl_matrix * A, gsl_vector * tau)
    {
      const size_t M = A->size1;
      const size_t N = A->size2;
     
      if (tau->size != GSL_MIN (M, N))
        {
          GSL_ERROR ("size of tau must be MIN(M,N)", GSL_EBADLEN);
        }
      else
        {
          size_t i;
     
          for (i = 0; i < GSL_MIN (M, N); i++)
            {
              /* Compute the Householder transformation to reduce the j-th
                 column of the matrix to a multiple of the j-th unit vector */
     
              gsl_vector_view c_full = gsl_matrix_column (A, i);
              gsl_vector_view c = gsl_vector_subvector (&(c_full.vector), i, M-i);
     
              double tau_i = gsl_linalg_householder_transform (&(c.vector));
     
              gsl_vector_set (tau, i, tau_i);
     
              /* Apply the transformation to the remaining columns and
                 update the norms */
     
              if (i + 1 < N)
                {
                  gsl_matrix_view m = gsl_matrix_submatrix (A, i, i + 1, M - i, N - (i + 1));
                  gsl_linalg_householder_hm (tau_i, &(c.vector), &(m.matrix));
                }
            }
     
          return GSL_SUCCESS;
        }
    }
    [/quote]
    La fonction ne comporte pas d'erreur puisque je l'ai copiée de la bibliothèque. gsl_matrix et gsl_vector sont des structures qui marchent bien, gsl_matrix_column, gsl_vector_subvector, gsl_linalg_householder_transform, gsl_vector_set, gsl_matrix_submatrix et gsl_linalg_householder_hm sont des fonctions de la biblio.
    Merci encore.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Points : 83
    Points
    83
    Par défaut
    Bon en fait les fonctions ne fonctionnent pas toute donc c'est normal.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Points : 83
    Points
    83
    Par défaut
    Mais pourquoi ne fonctionnent elles pas? J'ai lancé un code test de la biblio qui compile mais génère des erreurs sur certaines fonctions. J'ai déclaré les dossiers lib, include et bin et créé un link sur la librairie libgsl.lib

  8. #8
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Il y a sans doute un problème de compatibilité, dans les appels d'arguments des fonctions, ils sont chargés de gauche à droite ou de droite à gauche. Il faut mettre un modificateur devant les fonctions "pasca"l ou "cdecl" si je me souviens bien.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

Discussions similaires

  1. Erreur de code en mde, pas en mdb
    Par hugo69 dans le forum Access
    Réponses: 6
    Dernier message: 09/06/2006, 20h21
  2. Erreur système . Code : 1410 ?
    Par Interruption13h dans le forum C++Builder
    Réponses: 5
    Dernier message: 05/05/2006, 08h59
  3. [Debutant][XSL] Erreur de code programmation
    Par SkyDev dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 14/03/2006, 22h38
  4. Erreur : ce code n'est pas connu
    Par ruman dans le forum VBA Access
    Réponses: 17
    Dernier message: 13/02/2006, 11h37
  5. [MySQL] Erreur dans code php
    Par Badr3am dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 31/01/2006, 22h16

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