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 :

Rassemblement de différent module séparés


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Octobre 2012
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 1
    Par défaut Rassemblement de différent module séparés
    Bonjour,
    Je vous explique mon problème, donc nous avons un projet scolaire à plusieurs( créer un jeux de dame), donc on arrive à la fin du projet et nous avons un mal fou a rassembler les différents sous programmes(IA, multi, score et le menu) .

    Donc au final nous avons tous plusieurs "main.c", et lorsque j'essaye de renommer une fonction en "mono.c" par exemple, le compilateur ne veux pas. il y a t'il un moyen de creer une fonction qui appel un autre programme? (par exemple je clic sur mono dans le menu et l'autre programme se lance).

    merci

  2. #2
    Membre Expert

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Par défaut
    Oulàlà…

    main.c ou mono.c, ce sont des fichiers de code source C, pas des fonctions, non*?

    Pour le reste, difficile de sortir des généralités, vu le peu d’informations données… Disons qu’il faudrait placer les différentes fonctionnalités dans des fonctions, rendre “publiques” et partager celles qui doivent être accessibles à d’autres parties de programme (c-à-d les déclarer dans des fichiers d’en-tête, mono.h etc., à inclure dans les fichiers .c)… Et ne définir qu’une seul main(), évidemment*!

    Le problème, c’est que ce genre de truc se décide normalement avant d’écrire la moindre ligne de code, ça simplifie la vie.

    De toute façon, une phrase comme*:

    Donc au final nous avons tous plusieurs "main.c", et lorsque j'essaye de renommer une fonction en "mono.c" par exemple, le compilateur ne veux pas.
    …me fais me demander si vous avez vraiment les bases de la programmation en C*?

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 837
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 837
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par startep Voir le message
    ...donc on arrive à la fin du projet et nous avons un mal fou a rassembler les différents sous programmes(IA, multi, score et le menu) .
    Bonjour

    On sent que ça a été super pensé quoi...
    Quand on est affecté à une tâche d'un projet, on pense dès le départ que la tâche devra être raccordée aux autres. Donc effectivement on se crée un petit main() perso permettant de tester son travail mais surtout on crée la tâche comme une fonction bien dédiée ce qui permettra ensuite de la déporter ailleurs...

    Citation Envoyé par startep Voir le message
    Donc au final nous avons tous plusieurs "main.c", et lorsque j'essaye de renommer une fonction en "mono.c" par exemple, le compilateur ne veux pas.
    Hum, description un peu sommaire. Comment fais-tu ce renommage ? Tu renommes le fichier source ? La fonction ? Tu essayes de créer un exécutable à partir d'un source qui ne contient (alors) plus de main ??? Dans ce cas là effectivement il est normal que le compilo ne veuille (puisse) pas le faire !!!

    La compilation multi sources est simple
    1) un seul source contient le main (de façon plus générale: aucun nom de fonction située dans un source X ne doit réapparaitre dans aucun autre source (sauf si on la protège par le mot clef "static" mais dans ce cas elle devient locale au source et ne peut pas être appelée depuis un autre))

    2) chaque source est compilé en simple module objet => gcc -c sourceX => ça produit un fichier "sourceX.o"

    3) une fois tous les sources compilés, o, les relie ensemble et on produit l'exécutable => gcc source1.o source2.o source3.o -o executable

    Citation Envoyé par startep Voir le message
    il y a t'il un moyen de creer une fonction qui appel un autre programme? (par exemple je clic sur mono dans le menu et l'autre programme se lance).
    Oui, par l'intermédiaire de system(). Mais l'autre programme sera lancé dans un environnement totalement indépendant et tu ne pourras pas récupérer son travail (sauf si tu commences à jouer avec les pipes mais ça devient super lourd surtout pour un projet sensé n'être qu'un seul programme). Et (avis perso) si tu commences d'emblée à penser à ce genre de solution, tu ne feras pas une longue carrière dans l'informatique (quoique vu ce que je vois parfois je me dis que certains développeurs n'ont vraiment plus honte de rien (j'en ai vu qui disaient à des utilisateurs "c'est normal que le clic droit ne marche pas, le projet a été développé sous Linux et sous Linux il n'y a pas de clic droit" !!!...))
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Différents modules et types communs
    Par ze_corsaire dans le forum CORBA
    Réponses: 3
    Dernier message: 03/08/2011, 13h24
  2. Un EJB-module séparé en deux
    Par krum dans le forum Java EE
    Réponses: 0
    Dernier message: 02/11/2009, 17h28
  3. fonction des différents modules de BO
    Par tatayoyo dans le forum Débuter
    Réponses: 12
    Dernier message: 03/08/2008, 00h28
  4. [VBA][EXCEL]Goto a travers différent module
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 19/12/2005, 09h32

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