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

Langage C++ Discussion :

"Exporter du code" dans un programme


Sujet :

Langage C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 187
    Points : 65
    Points
    65
    Par défaut "Exporter du code" dans un programme
    Bonjour

    J'ai besoin d'aide. Je vous présente mon problème.

    Je dois faire une application distribuée. On a un ordinateur central qui doit exploiter des données puis ensuite donner des instructions à d'autres ordinateurs reliés en réseau.

    Sur l'ordinateur central le développeur peut écrire ce qu'il veut comme programme pour exploiter ces résultats, le code développé soit distribué aux autres ordinateurs qui sont en attente d'une connexion et d'instructions.

    Bref je vois pas vraiment comment faire ni par où commencer, si vous pourriez m'aider s'il vous plaîiitt !!!!


    merci

  2. #2
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    euh pas très bien compris

    en gros:
    A machine centrale
    B machine distante
    -> envoi par réseaux

    Donnée -> A -> calcul et sort des nombres -> B?

    Ou

    Donnée -> A
    A -> code -> B
    A -> Donnée -> B
    B calcul?

    Je comprend pas si tu doit envoyer le résultat des calculs à B;
    Ou si tu dois envoyer le code permettant ces calculs à B ?
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 187
    Points : 65
    Points
    65
    Par défaut
    Bonjour

    En fait le but est comme je le disais d'exporter des données mais aussi des instructions.

    L'ordinateur A (celui qu'utilise le programmeur) est relié à l'ordinateur B en réseau.

    L'ordinateur A est trop "faible" en terme de puissance de calcul donc il souhaite tout reléguer à l'ordi B (qui lui est nettement plus puissant).

    Mais la contrainte supplémentaire c'est que le programmeur doit avoir la possibilité de faire ce qu'il veut des données brut que contient l'ordi A. Il peut écrire une portion de code pour traiter ces données et les refiler à l'ordi B qui fait les calculs et renvoie les résultats traités.

    Ex: J'ai une mission sur le terrain et j'ai 3 milliards de valeurs auxquelles je dois appliquer une fonction f(x)=x² mais mon ordi A qui est un mini PC tout faiblard ne peut pas traiter ça et de toute façon j'en ais besoin pour effectuer d'autres tâches.

    J'ai un ordi B qui est situé dans l'entreprise et qui est relié par internet à l'ordi A. Cet ordi B est très puissant et peut tout à fait travailler ces données.

    Je souhaiterais que A envoie une liste de toutes ces valeurs brutes mais aussi la fonction et en retour il obtient les valeurs traités.

    Je donnais l'exemple d'une fonction f(x)=x² mais je peux très bien avoir besoin d'une toute autre fonction et je voudrais envoyer du code à l'ordi B afin qu'il comprenne quoi faire des données que je lui ais envoyé.

    Bref je sais pas si j'ai été claire c'est assez bizarre mais je suis en mission là et le client souhaiterait avoir cette fonctionnalité mais je vois pas vraiment comment faire.

    Merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 187
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par skeud Voir le message
    Donnée -> A
    A -> code -> B
    A -> Donnée -> B
    B calcul?

    Je comprend pas si tu doit envoyer le résultat des calculs à B;
    Ou si tu dois envoyer le code permettant ces calculs à B ?
    En fait c'est cette deuxième. Je dois envoyer et les données et le code à effectuer à la machine B.
    Donc en gros ça donnerait ça :

    Données -> A
    A -> code -> B
    A -> Données -> B
    B -> calcul
    B -> retour resultats traités -> A
    A -> super heureux !

  5. #5
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Les deux machine fonctionne sous la meme archi?
    du code de quel type? C++ ou langage interne?
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 187
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par skeud Voir le message
    Les deux machine fonctionne sous la meme archi?
    du code de quel type? C++ ou langage interne?
    Même architecture, même version de windows (windows 7) et oui en C++.

    J'ai une autre question j'ai vu que certains plaçaient en début de ligne C++ un contre slash
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    \  int a = 2
    \ a = a+2
    Je vois pas à quoi ça correspond?

    Merci

  7. #7
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par amira Voir le message
    J'ai une autre question j'ai vu que certains plaçaient en début de ligne C++ un contre slash
    jamais vu ça.

    Pourquoi tu n'envois pas l'executable plutot que le code? Sa serait plus simple, la machine B execute le code qui envoi direct les données a la machine A
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 187
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par skeud Voir le message
    jamais vu ça.

    Pourquoi tu n'envois pas l'executable plutot que le code? Sa serait plus simple, la machine B execute le code qui envoi direct les données a la machine A
    Ok je vais voir ça, j'y ai pensée mais ça me semble bizarre (moins tout de même que d'envoyer du code brut ) mais bon

    Je vais creuser et je tiens au courant !

    merci

  9. #9
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Pas de souci, j'attends de tes nouvelles
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 187
    Points : 65
    Points
    65
    Par défaut
    Il y a plusieurs années lorsque je faisais mon stage j'ai eu quelque chose de ce style, je regrette de pas avoir posée plus de questions.

    Là ce n'était pas sur deux ordinateurs différents mais la logique était la même.

    C'était deux applications différentes une application A ou on écrivait du code et qui extrayait les données puis une appli B qui recevait ce code gérait la parallélisation GPU du code pour calculer sur plusieurs coeurs. Une fois terminé l'appli B renvoyait à l'appli A les résultats.

    Je m'étais dis que c'était à peu près pareil mais c'était il y a tellement longtemps et malheureusement pour moi j'ai pas été assez curieuse... :'(

    lol

    Edit : Quand je parle de l'appli B, on y touchais jamais, elle était compilée et executable c'est tout. Tout le code et les changements étaient portés sur l'appli A. Voilà pourquoi j'essaye de retrouver l'idée de l'entreprise de mon stage, développer ce style d'application.

  11. #11
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Résultat c'est correct comme ça ou po?
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 187
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par skeud Voir le message
    Résultat c'est correct comme ça ou po?
    Je ne sais pas je verrais quand j'aurais terminée. Mais bon ce n'est pas ce qu'ils faisaient durant mon stage.

    A l'époque on utilisait OpenMP avec toutes ses #pragma &cie. Le but était de faciliter le travail du développeur qui n'y connaissait rien. Ils avaient développés une "méthode" foreall de ce style :

    forall(int i=0;i<10;i++ ) { bla bla }

    et derrière il recopiait les éléments nécessaires pour donner :

    #pragma omp for
    for(int i=0;i<10;i++) { bla bla }

    Bref c'est ça que j'aimerais et je vois pas comment l'utiliser :'(

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 187
    Points : 65
    Points
    65
    Par défaut
    Coucou

    J'ai parlé avec le client mais ils y ont pensés et ne veulent pas de cette solution.

    Trois problèmes selon eux :
    1) Internet n'est pas toujours disponible sur le terrain
    2) Les données ne sont pas forcément gigantesques. On peut avoir 3 milliards de valeurs comme on peut en avoir 1000 à traiter, pas la peine de surcharger la machine B d'autant plus qu'elle peut avoir d'autres tâches à effectuer plus importantes.
    3) Simplifier au maximum le travail aux non-informaticiens qui voudront l'utiliser en automatisant tout ça.

    Le codeur doit pour faire ça développer deux programmes différents. Un pour la machine A qui extrait les données et un second pour la machine B qui exploite les données. Moi je souhaiterais que tout soit invisible pour le développeur et l'utilisateur final.

    Le développeur ajoute l'adresse IP et le port sur lequel il souhaite se connecter puis il écrit sa fonction. Tout est envoyé à B qui se charge de ça.

    Bref cette mission est en train de me sortir de la tête.

  14. #14
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    en gros tu voudrais créer un langage simplifié?
    Pour le traitement de tes calcul.

    La par contre ça sort de mes compétence, bien que j'ai un peu de connaissance, je risquerais de t'induire en erreur.

    Tu es sur qu'une solution plus simple ne peut pas être envisager?

    Est-ce que tu connais le type d'opération qui peut être appliqué à tes données?
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 187
    Points : 65
    Points
    65
    Par défaut
    Bon après discussion ça peut poser plus de problèmes que de solution, finalement je vais revenir à ta solution d'envoyer l'exe.

    Le problème c'est qu'on ne peut pas déterminer à l'avance l'architecture de l'ordi B. Donc il vaut mieux tout compiler sur l'ordi A et envoyer tout ça sur l'ordi B qui se chargera de calculer le tout.

    Je te tiens au courant de l'avancement
    merci

  16. #16
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Fais attention à une chose, si ton ordi A est sous linux et ton ordi B sous windows, tu risque d'avoir des petits souci pour executer ton programme sur l'ordi B, une solution pourrait être de passer par java, ou une appli php, qui se moque de l'architecture royalement
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


Discussions similaires

  1. Comment scanner des codes barre dans un programme ?
    Par looping dans le forum Langage
    Réponses: 7
    Dernier message: 08/12/2007, 08h14
  2. integrer du code perl dans un programme java
    Par alphonse62 dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 07/05/2007, 07h17
  3. Réponses: 4
    Dernier message: 22/04/2007, 08h31
  4. introduire du code assembleur dans un programme C++
    Par hzaki1986 dans le forum C++
    Réponses: 1
    Dernier message: 14/04/2007, 17h14
  5. compiler du code c dans un programme cpp
    Par momofiant dans le forum C++
    Réponses: 1
    Dernier message: 05/01/2007, 10h39

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