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 :

changer c++ en c ?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 65
    Par défaut changer c++ en c ?
    Bonjour,
    je voudrais changer un projet qui contient de fichier c et fichier c++ en un projet qui ne contien que des fichier C
    dans les fichier C++ il n'ya pas de chose particuliere en c++ elle peuvent etre C ! ce que j'ai fait je les ai changer en ".C" au lieu de ".cpp" et dans le fichier Makefile :
    CC = g++
    #CFLAGS = -g -I. -I/usr/local/gcc280/lib/g++-include
    CFLAGS = -g -I. -O3 -Wall -I/usr/local/lib/g++-include
    ......
    j'ai changer g++ en gcc !
    je ne sais pas le reste comment je fait
    je ne sais pas aussi quoi changer dans les fichier include pour que ca marche avec gcc (les fichiees ".cpp" contiennent des #include <machin> !! est ce qu'elle reste valide en changant le nom du fichier en "".C"" et en le compilant avec gcc?? ou je doit les remplacer par d'autre biblio equivalent ?
    merci pour votre aide !

  2. #2
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Il faut les modifer.

    #include<cstdlib> devrait être remplacé par #include<stdlib.h>

    M'enfin si a l'époque il utilisait un compilateur c++ doit avoir une raison non ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 65
    Par défaut
    je ne sais pas
    d'ailleur le programe principale .cpp
    il contient que des truc en c en plus les include sont celle du c et non pas c++
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <sys/wait.h>
    #include <math.h>
    #include <strings.h>
    #include <string.h>
    #include <pthread.h>
    #include <stdio.h>
    #include <stdlib.h>

    #include "high.h"
    #include "mt-rand.h"
    en tout cas lorsque le compilateur est g++ c marche tres bien mais lorsque je le change en gcc
    il me dit qu'il ya erreur dans des fichier "".h"" erreur de syntax avavnt ""&""

    or j'ai rien changer dans le fichier ".h" et plus precisement la ligne d'erreur
    :
    void GetSensation(TSense &sense);
    void GetOdometry(TOdo &odometry);

  4. #4
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Il s'agit d'un passage de paramètre par référence ( alias). En C on utilise plûtot des pointeurs donc ca donne une étoile(*) a la place du &. Cependant ca va nécessitait modification de code puisque passage par pointeur si il s'agit d'une structure il faudrait faire param->membre tandis que par référence param.membre.

  5. #5
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par hegros
    En C on utilise plûtot des pointeurs
    C'est surtout qu'on a pas le choix, les références n'existent pas en C.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 65
    Par défaut
    Citation Envoyé par hegros
    Il s'agit d'un passage de paramètre par référence ( alias). En C on utilise plûtot des pointeurs donc ca donne une étoile(*) a la place du &. Cependant ca va nécessitait modification de code puisque passage par pointeur si il s'agit d'une structure il faudrait faire param->membre tandis que par référence param.membre.
    c possible !enfaite il me dit syntax error before'&' token donc l'erreur est avant je pense non ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 65
    Par défaut
    voici le fichier ".h " qui contien l'erreur ! apres compilation gcc !
    #include "basic.h"

    // The number of sensor readings for this robot (typically 181 for a laser range finder)
    #define SENSE_NUMBER 181
    // Turn radius of the robot in map squares.Since the "robot" is actually the sensor origin for the
    // purposes of this program, the turn radius is the displacement of the sensor from the robot's center
    // of rotation (assuming holonomic turns)
    #define TURN_RADIUS (0.40 * MAP_SCALE)

    // Each sensor reading has direction it is looking (theta) and a distance at which it senses the object.
    // Direction of the sensor is relative to the facing of the robot, with "forward" being 0, and is
    // measured in radians.
    struct TSense_struct{
    double theta, distance;
    };
    typedef struct TSense_struct TSenseSample;
    typedef TSenseSample TSense[SENSE_NUMBER+1];

    // This is the structure for storing odometry data from the robot. The same conditions apply as above.
    struct odo_struct{
    double x, y, theta;
    };
    typedef struct odo_struct TOdo;

    extern TOdo odometry;

    // These should be self explainatory. Each one represents how the robot actually performs these tasks,
    // which the program issues the commands. Actual implementation in ThisRobot.c is specific to each robot.
    // For purposes of playback from logfiles, these need to be present, but do not need to be implemented
    int InitializeThisRobot(int argc, char *argv[]);
    int ConnectOdometry(int argc, char *argv[]);
    int ConnectLaser(int argc, char *argv[]);
    int ConnectDrive(int argc, char *argv[]);
    void GetSensation(TSense &sense);
    void GetOdometry(TOdo &odometry);
    void Drive(double speed, double turn);

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par debutant-1
    je voudrais changer un projet qui contient de fichier c et fichier c++ en un projet qui ne contien que des fichier C
    Montre le code, c'est peut être possible.

Discussions similaires

  1. Changer l'image d'une texture
    Par alltech dans le forum DirectX
    Réponses: 5
    Dernier message: 21/08/2002, 01h31
  2. TextOut : comment changer de font
    Par Freakazoid dans le forum DirectX
    Réponses: 2
    Dernier message: 15/07/2002, 20h46
  3. Réponses: 2
    Dernier message: 26/06/2002, 13h16
  4. changer de repertoire et situer
    Par chateau dans le forum C
    Réponses: 4
    Dernier message: 24/06/2002, 11h27
  5. changer l'adresse d'un fichier...
    Par cava dans le forum C
    Réponses: 6
    Dernier message: 05/06/2002, 12h22

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