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 :

buffer circulaire


Sujet :

C

  1. #21
    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 fumble
    et à moi, on me dit qu'il faut faire des variables globales.
    Qui ça 'on' ? Les globales sont à éviter au maximum. Elles sont réservées à des cas rares, quand on ne peut pas faire autrement
    quant aux prototypes:
    Citation Envoyé par Trap D
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /* --------------------------------------------------------------- */
    /* declaration des protoypes
    int read(void);
    int write(void);
    Je souhaite que mes fonctions lisent ou écrivent un char, il faut malgré tout, les typer en int?
    Si la fonction ne retourne rien, on met void ou ()?
    Quand est-ce que l'on sait si on doit mettre des paramètres entrant ou sortant ? Y a-til un doc qui explique clairement et simplement les paramètres in, out ?
    Tu devrais ouvrir ton livre de C plus souvent au chapitre 'fonctions'.

    http://emmanuel-delahaye.developpez.com/init_c.htm

  2. #22
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    déclaration d'une fonction :
    *valeur de retour
    quand tu déclare une fonction tu doit spécifié ce qu'elle retourne (le type ou void si elle ne retourne rien) en le précisant devant le nom de ta fonction.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int fonction1(void);  //retourne un entier
    char fonction2(void);  //retourne un caractere
    void fonction3(void);  //ne retourne rien
    *valeurs envoyés
    le nombre et le type des variables passé en parametre a une fonction doit etre préciser entre les parenthèse après le nom de ta fonction (si rien il me semble que le void n'est pas obligatoire je sais plus mais je rouve que c'est plus clair)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    void fonction4(int);  // "reçoit" un entier
    int fonction5(char);  // "reçoit" un caractere
    Attention a la différence entre le passage par valeur http://cermics.enpc.fr/polys/info1/main/node11.html
    et le passage par adresse (ou reference) http://cermics.enpc.fr/polys/info1/main/node33.html
    avec google tu auras l'embarras du choix.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #23
    Rédacteur
    Avatar de dvsoft
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2002
    Messages : 176
    Par défaut
    bonjour

    Citation Envoyé par Emmanuel Delahaye
    Je ne veux pas voir de globales...
    Cela ne veut rien dire, ne fait pas attention à de telles affirmations.
    Il existe bien des exemples ou il faut utiliser des variables globales. Il serait plus juste de dire

    Citation Envoyé par gl
    * la visibilite dans tout le code : n'importe qu'elle fonction peut modifier la valeur d'une telle variable, ce qui peut coincer si une autre fonction utilise cette meme variable pour tout autre chose.
    Cette remarque est bien plus juste

    Si tu ne l’a pas encore fait, achète donc un bon livre sur le C, tu en as une liste sur le site. Par exemple regarde:
    http://c.developpez.com/livres/#L2100487345

    Ecrire du code correcte, portable, etc, demande du temps et l’expérience, cela viendras avec la pratique

    Par contre:
    Citation Envoyé par Emmanuel Delahaye
    Plutôt que de sauter sur le clavier et de sortir du code à tout prix, il est préférabole de réfléchir 5 minutes (allez, 10)
    Je suis bien d’accord avec cette affirmation

    Bon courage
    Alain

  4. #24
    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 dvsoft
    Citation Envoyé par Emmanuel Delahaye
    Je ne veux pas voir de globales...
    Cela ne veut rien dire, ne fait pas attention à de telles affirmations.
    Il existe bien des exemples ou il faut utiliser des variables globales. Il serait plus juste de dire
    Ok, j'ai un peu simplifié ma pensée, mais je l'ai détaillée dans un post suivant et j'ai donné une référence d'un de mes article...

    Ceci dit, pour le problème posé, on peut parfaitement se passer de globales.

  5. #25
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Citation Envoyé par dvsoft
    Cela ne veut rien dire, ne fait pas attention à de telles affirmations.
    Il existe bien des exemples ou il faut utiliser des variables globales. Il serait plus juste de dire
    Il doit exister des exemples, c'est certains, mais lesquels ? Je crois qu'etre force a utiliser des globales est tellement rare que peu d'exemples peuvent etre trouves.

    Ce qui se voit souvent, par contre, notamment dans les programmes utilisant des API ou des SDK complexes, c'est une sur-utilisation des globales pour raccoucir les prototypes de fonctions (genre on met un handler en globale, histoire de ne pas passer son temps a le passer en argument). Je ne sais pas si cette pratique, basee quand meme sur une certaine paresse, est un bonne chose ou non.

  6. #26
    Rédacteur
    Avatar de dvsoft
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2002
    Messages : 176
    Par défaut
    Bonjour,
    Je constate que le débat est animé.

    Petit question pour les pros du C
    1 - Où stoker la table des symboles d’un compilateur ? (Global ou Local)
    2 - Où stoker la table des registres d’une machine virtuelle, codée sur une cible 8bits qui ne contient que 2Ko de RAM ? (Global ou Local)
    3 - Quelle solution demande le moins d’instruction machine, pour l'accés a une table des registres, quand elle est Global ou local ?

    Quelle est la question à poser, avant de repondre à la troisième question ?

    Aller je retourne en cours
    Bon courage a tous

    Alain

  7. #27
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    J'aurais pas su que t'étais prof, je me serais posé des questions (auxquelles j'aurais su répondre) par contre les tiennes...
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  8. #28
    Rédacteur
    Avatar de dvsoft
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2002
    Messages : 176
    Par défaut
    Bonsoir

    J'aurais pas su que t'étais prof, je me serais posé des questions (auxquelles j'aurai su répondre) par contre les tiennes...
    Je suis sur que tu peut repondre sans aucun PB.

    Alain

  9. #29
    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 dvsoft
    1 - Où stoker la table des symboles d’un compilateur ? (Global ou Local)
    Liste chainée ?
    2 - Où stoker la table des registres d’une machine virtuelle, codée sur une cible 8bits qui ne contient que 2Ko de RAM ? (Global ou Local)
    3 - Quelle solution demande le moins d’instruction machine, pour l'accés a une table des registres, quand elle est Global ou local ?

    Quelle est la question à poser, avant de repondre à la troisième question ?
    Il y a certainement beaucoup de cas 'systèmes' pour lesquels les globales sont utiles ou indispensable[1], mais je parle au niveau utilisateur là où l'utilisation de globales est plus problème un de mauvaise conception ou de capillarité palmaire qu'autre chose...

    -------------------
    [1] J'avoue avoir un pointeur 'static' dans le module 'SYSALLOC' de ma bibliothèque... par ce que je simule le fonctionnement de fonctions existantes qui n'ont pas de paramètre 'contexte'. (malloc(), free()...)

  10. #30
    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 : 41
    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 Emmanuel Delahaye
    -------------------
    [1] J'avoue avoir un pointeur 'static' dans le module 'SYSALLOC' de ma bibliothèque... par ce que je simule le fonctionnement de fonctions existantes qui n'ont pas de paramètre 'contexte'. (malloc(), free()...)


    Sinon je suis entièrement d'accord.

  11. #31
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Moi, je ne suis pas concerné car je ne suis pas un pro du C 8)
    Alors, pour le fun:
    a) Global
    b) j'ai du mal à comprendre la portée véritable de la question, car c'est une question portant sur les OS plutôt qu'autre chose, je dirais Local
    c) Je pense qu'il faudrait connaître le type d'OS

    J'ai bon, j'ai bon
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  12. #32
    Rédacteur
    Avatar de dvsoft
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2002
    Messages : 176
    Par défaut
    Bonsoir à tous,

    Vous avez tous juste, un petit plus pour Trap D qui à presque poser la bonne question.
    En fait il n’y a pas de bonne et mauvaises reponses.
    J’ai eu des questions comme sa, quand j’étais encore étudiant. On n’arrêtait pas de s’engueuler quand il était question de la relation entre la qualité et la beauté et du code.
    Voila ce que nous a dit un grand bonhomme du dév de l’époque

    Le code doit être propre, mais ce n’est pas par ce que l’on à une belle écriture que l’on est un bon romancier. Et il a ajouter l’écriture n’est telle pas la science des Anes

    Aller bonne nuit a tous
    Alain

  13. #33
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    C'est l'orthographe qui est la sciences des ânes
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  14. #34
    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 Trap D
    C'est l'orthographe qui est la sciences des ânes
    Hi han!

    [img]"http://www.ciadvertising.org/student_account/spring_01/adv391k/arzand/page/donkey.jpg[/img]"

  15. #35
    Rédacteur
    Avatar de dvsoft
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2002
    Messages : 176
    Par défaut
    Bonjour

    Oui je sais bien, mais c’était un polonais qui parler en anglais, il ne devait
    pas avoir la translation du mot Orthographe, dans sont parser.

    Aller bonne journée à tous et bon code

    Alain

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. implementation d'un Buffer Circulaire
    Par vbbarent dans le forum C++
    Réponses: 2
    Dernier message: 20/05/2008, 18h11
  2. Buffer Circulaire C#
    Par apelleti dans le forum C#
    Réponses: 2
    Dernier message: 19/05/2008, 15h19
  3. Réponses: 12
    Dernier message: 27/03/2008, 22h01
  4. Liaison série, Buffer Circulaire ?
    Par innosang dans le forum Ubuntu
    Réponses: 2
    Dernier message: 26/12/2007, 21h52
  5. Cree un buffer circulaire
    Par caesarvanou dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 06/06/2006, 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