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 :

probleme avec static inline


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut probleme avec static inline
    Bonjour
    Je cherche a compiler sous VC2005 un fichier source .c a la base programmé pour compiler en sous GCC, qui contient ce simple bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    static inline
    void initialise(gsl_integration_workspace* workspace, double a, double b);
    }
    quand ca compile, voici le message d'erreur qui apparait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    error C2143: erreur de syntaxe : absence de ')' avant '*'
     error C2143: erreur de syntaxe : absence de '{' avant '*'
     error C2059: erreur de syntaxe : 'type'
     error C2059: erreur de syntaxe : ')'
    je pense que l'erreur vient du fait que VC2005 ne connait pas: static inline (c'est ce que j'ai compris d'apres mes recherces sur internet)
    que puis-je faire pour convertir ce simple bout de code pour que VC2005 puisse le comprendre?
    merci

  2. #2
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Je crois plutot que le probleme vient que inline n'existe pas en C, si ma memoire est bonne. Peut etre __inline...

  3. #3
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut
    merci, j'ai essayé, mais ca donne tj la meme erreur.
    peut etre faut il essayer un truc dans le style des extern, #IFDEFINe...

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Peo,

    Il faudrait un peu plus de code, car là, à voir ce que tu nous montres, tu as une accolade fermante qui n'a rien à faire ici (mais il faut voir le code précédent ce que tu as mis).

  5. #5
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut
    ben voila le code du fichier entier:

    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
    /* integration/initialise.c
     * 
     * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2007 Brian Gough
     * 
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation; either version 3 of the License, or (at
     * your option) any later version.
     * 
     * This program is distributed in the hope that it will be useful, but
     * WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     * General Public License for more details.
     * 
     * You should have received a copy of the GNU General Public License
     * along with this program; if not, write to the Free Software
     * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     */
    static inline
    void initialise(gsl_integration_workspace* workspace, double a, double b);
     
    static inline
    void initialise (gsl_integration_workspace * workspace, double a, double b)
    {
      workspace->size = 0;
      workspace->nrmax = 0;
      workspace->i = 0;
      workspace->alist[0] = a;
      workspace->blist[0] = b;
      workspace->rlist[0] = 0.0;
      workspace->elist[0] = 0.0;
      workspace->order[0] = 0;
      workspace->level[0] = 0;
     
      workspace->maximum_level = 0;
    }
    ensuite ce fichier est utilisé par d'autres fichiers comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <conssfig.h>
    #include <stdlib.h>
    #include <gsl_math.h>
    #include <gsl_errno.h>
    #include <gsl_integration.h>
     
     
    #include "set_initial.c"
    #include "qpsrt.c"
    #include "util.c"
    #include "initialise.c"....................
    mais est-ce un problème de code ou de compilateur?

  6. #6
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    Ah !!!!!!!!!!!!!! Des inclusions de .c ! beurk.
    Va revoir le principe de programmation modulaire.

    Comment ca peut compiler sans donner des erreurs de multiples definitions ?
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme avec Static
    Par asprog dans le forum Débuter
    Réponses: 2
    Dernier message: 27/01/2011, 22h20
  2. probleme avec une methode static dans le body d'une jsp
    Par amadou.deme dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 19/02/2007, 08h47
  3. [POO] Problème avec une variable static
    Par grimsk dans le forum Langage
    Réponses: 5
    Dernier message: 23/05/2006, 01h58
  4. [POO] Probleme avec static et autoload
    Par laetyboop dans le forum Langage
    Réponses: 1
    Dernier message: 23/03/2006, 14h46
  5. Problème avec l'option -static de gcc
    Par lsdInside dans le forum Linux
    Réponses: 2
    Dernier message: 08/05/2004, 01h01

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