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 :

C, C++ et assembleur, plutot amis ?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 21
    Par défaut C, C++ et assembleur, plutot amis ?
    Bonjour,

    Je voudrais savoir s'il est possible d'intégrer du C++ et de l'asssembleur sans un programme C.

    Si c'est possible comment le faire, et si ce n'est pas possible, comment faire autrement.

    Le but est de tirer parti des qualités de ces trois langages pour la réalisation d'un moteur 2D sur lequel je suis en train de réfléchir.

    D'avance merci,

    ShinMei.

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 65
    Par défaut
    hum... je dirais plutot "comment intégrer du C dans du C++ ?" étant donné que le second est une "extension" du premier (d'aucuns ne seront bien sur pas d'accord avec ce terme).

    Vois toujours ce type de déclarration dans n'importe quelle doc C++, qui permet d'intégrer d'anciens prog. C dans du C++:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    extern "C" {
       ...
    }
    golem
    +++

  3. #3
    Membre expérimenté

    Inscrit en
    Juin 2002
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 97
    Par défaut
    Du C++ dans du C : Possible en compilant à part.
    fichier func.h (biface C++/C)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #ifdef __cplusplus //spécifie uniquement en C++ que...
    extern "C"{        //...les déclarations suivantes sont du C
    #endif
     
    void func(void); //déclaration
     
    #ifdef __cplusplus
    } //extern "C"
    #endif
    fichier func.cpp (C++)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #include "func.h"
    //includes C++ ici si l'on veut
     
    void func(void){ //apparence compatible C et C++
    	//instructions C++ ici si l'on veut
    }
    fichier main.c (C)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #include "func.h"
     
    int main(void){
    	func();
    	return 0;
    }
    La fonction est compilée à part en C++ et peut faire en interne des choses propres au C++.
    Mais son apparence extérieure est celle d'une fonction C : pas de valeur par défaut, surcharge ou référence.
    Elle peut être liée depuis un projet C.


    Du C dans du C++ : Oui.
    Il suffit de changer dans l'exemple ci-dessus:
    main.c en main.cpp
    func.cpp en func.c


    De l'assembleur en C ou C++ : Pas standard, mais généralement possible.
    Chaque compilateur a sa propre méthode, il faut lire la doc.
    Typiquement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    asm instruction_asm
     
    asm{
    	instruction_asm
    	instruction_asm
    }

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

Discussions similaires

  1. Tutoriels, F.A.Q : la rubrique Assembleur de Developpez.com
    Par Alcatîz dans le forum Assembleur
    Réponses: 3
    Dernier message: 07/06/2007, 19h14
  2. ecrire son OS (assembleur ??)
    Par Anonymous dans le forum Programmation d'OS
    Réponses: 9
    Dernier message: 25/11/2002, 19h25
  3. Assembleur sous Windows et sous Linux
    Par Bibouda dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 28/10/2002, 07h55
  4. Random en Assembleur
    Par funx dans le forum Assembleur
    Réponses: 9
    Dernier message: 02/09/2002, 17h05
  5. Quel désassembleur/assembleur pour un exe Windows ?
    Par Anonymous dans le forum x86 32-bits / 64-bits
    Réponses: 6
    Dernier message: 17/04/2002, 10h59

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