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 :

Besoin d'aide pour débuter un programme (manipulation de strings+utilisation de threads)


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Besoin d'aide pour débuter un programme (manipulation de strings+utilisation de threads)
    Bonjour,

    J'ai besoin d'aide de la communauté C . J'utilise un logiciel qui possède une API C qui pourrait me permettre d'accèlerer la vitesse de traitement si j'arrive à faire un petit programme mais je ne suis pas un expert en la matière. J'ai donc vraiment besoin de vous pour m'aider à débuter.

    Le programme actuel eval_objects prend actuellement deux arguments:
    - les objets à évaluer
    - Le fichier de résultat
    Par exemple:
    eval_objects "{AT, DE, LU, PT, HU, PL, RO, SK},{EMPL},{F},{M},{G, S, T},{SER}" , "resulats.txt"

    A partir de la 1ère chaine de caractère, le programme actuel fait par lui même le produit cartésien suivant:
    AT.EMPL.F.M.G.SER
    AT.EMPL.F.M.S.SER
    AT.EMPL.F.M.T.SER
    DE.EMPL.F.M.G.SER
    DE.EMPL.F.M.S.SER
    DE.EMPL.F.M.T.SER
    LU.EMPL.F.M.G.SER
    LU.EMPL.F.M.S.SER
    LU.EMPL.F.M.T.SER
    PT.EMPL.F.M.G.SER
    PT.EMPL.F.M.S.SER
    PT.EMPL.F.M.T.SER
    HU.EMPL.F.M.G.SER
    HU.EMPL.F.M.S.SER
    HU.EMPL.F.M.T.SER
    PL.EMPL.F.M.G.SER
    PL.EMPL.F.M.S.SER
    PL.EMPL.F.M.T.SER
    RO.EMPL.F.M.G.SER
    RO.EMPL.F.M.S.SER
    RO.EMPL.F.M.T.SER
    SK.EMPL.F.M.G.SER
    SK.EMPL.F.M.S.SER
    SK.EMPL.F.M.T.SER

    Puis il évalue séquentiellement chaque objet en appelant la fonction evaluate et redirige ce qui va normalement sur la sortie standard (et donc de taille variable) vers le fichier passé dans le second paramètre.

    Pour améliorer les performances, j'aimerais transformer le programme pour qu'il ne travaille plus en séquentiel mais en parallèle sur un nombre de thread predéfini.
    Les problèmes que je vois sont:
    1) Le programme doit être capable d'interpréter le 1er argument pour faire le produit cartésien et le stocker un tableau de chaine de caractères alors que c'était géré initialement par le programme.
    2) Le main distribue l'évaluation de l'objet au 1er thread disponible
    3) La fonction evaluate doit être encapsuler pour garder en mémoire le résultat (ce qui va normalement sur la sortie standard et qui est donc de taille variable) et l'écrire dans le fichier si aucun autre thread n'est entrain d'écrire.

    Mes questions sont:
    Est ce que quelqu'un pourrait m'aider à débuter? Est-ce qu'il y aurait des fonctions existantes qui pourraient me simplifier la tâche pour faire le produit cartésien? Je n'ai jamais écrit d'application multthread. Est-ce que quelqu'un a déjà fait quelque-chose de similaire dont je pourrais m'inspirer pour ce programme?

    Merci d'avance.

    Cédric

  2. #2
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Citation Envoyé par o0cedric0o Voir le message
    Est ce que quelqu'un pourrait m'aider à débuter?
    Des membres seront la pour t'aider à résoudre tes problèmes s'ils en ont les compétences, le temps, et l'envie mais la plupart n'accompliront pas de projet à ta place .

    Citation Envoyé par o0cedric0o Voir le message
    Est-ce qu'il y aurait des fonctions existantes qui pourraient me simplifier la tâche pour faire le produit cartésien?
    Il y a pas mal de fonctions mathématiques standard dans l'entête math.h mais pour faire le produit cartésien, il faudra sûrement concevoir ton propre algorithme (le C est un langage assez bas niveau qui plus est) ...

    Cordialement,
    Idriss

Discussions similaires

  1. Besoin d'aide pour faire un programme
    Par jd13800 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/10/2010, 01h21
  2. Réponses: 6
    Dernier message: 23/06/2007, 12h29
  3. Réponses: 1
    Dernier message: 12/04/2007, 11h30
  4. Besoin d'aide pour débuter en Doja.
    Par themoye dans le forum Java ME
    Réponses: 4
    Dernier message: 20/09/2006, 13h25
  5. Besoin d'aide pour un petit programme
    Par Nico35 dans le forum C
    Réponses: 13
    Dernier message: 25/05/2006, 22h21

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