Bienvenue sur Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
Recherche
17 visiteur(s) et 0 membre(s) en ligne.
 
 
    Annonces Google

    Petites Annonces

il y a annonces
    IRC

Serveur : irc.portlane.se
Canal : #AmigaNG
    Liens

Toutes les informations sur :
  • Amiga OS 4:
    AmigaOS.net
  • Logiciels pour OS4 :
    OS4depot
  • Matériel Amiga :
    ACube Systems
  • Magazine papier :
    AmigaPower
  • Magazine en ligne :
    Obligement
  •     Activité du Site

    Pages vues depuis 25/07/2007 : 105 829
    • Nb. de Membres : 183
    • Nb. d'articles : 1 118
    • Nb. de Forums : 18
    • Nb. de Sujets : 17
    • Nb. de Critiques : 22

    Top 10  Statistiques

      
    Modéré par : K-L Creols Elwood 
    Index du Forum > > Création-Développement > > Syntaxe en c
    AuteurSyntaxe en c
    sadirux
    109     

    sadirux
      Posté : 02-05-2018 14:55

    Hello,

    Sur OS4depot j'ai téléchargé le petit utilitaire Termie afin de jeter un oeil sur le code source et je suis tombé sur ce morceau de code dans main.c : 


    Ship(c) char c; {
       outbuf[0] = c;
       DoIO((struct IORequest *)outreq);
       }

    ou encore 

    WindowMenu(w, code) struct Window *w; USHORT code; {
       switch (ITEMNUM(code)) {
          case 0: WindowToBack(w); break;
          case 1: WindowToFront(w); break;
          case 2: return(FALSE);
          }
       return(TRUE);
       }

    Comment se nomme ce type de syntaxe ? je n'ai jamais vu ce type d'écriture, ça ressemble à une fonction mais le type retourné n'est pas spécifié et le type des arguments est indiqué après la parenthèse fermante.


    Y'a t-il une différence entre ces 2 façons de faire ?

    Ship(c) char c; {
       outbuf[0] = c;
       DoIO((struct IORequest *)outreq);
       }

    VS

    void Ship(char *c) {
       outbuf[0] = c;
       DoIO((struct IORequest *)outreq);
       }


    Merci pour votre aide car je n'arrive pas à formuler correctement ma question dans un moteur de recherche pour m'expliquer cette convention d'écriture.



      Afficher le profil de sadiruxProfil  Imprimer ce commentaireImprimer
    alex
    1110       

    alex
      Posté : 02-05-2018 15:23

    Bonjour sadirux,
    Ce type de syntaxe se nomme K&R des noms de l'inventeur du langage (Ritchie) et de l'auteur d'un livre qui fut longtemps la bible de tout développeur C (Kernighan).
    Il s'agit en effet de la façon originale de définir une fonction en C. Cette notation a été abandonnée au profit de la notation actuelle beaucoup plus fluide dans sa lecture.
    De mémoire elle n'est même plus supportée par les compilateurs dernière génération en mode C99 et supérieur.


    --
    AmigaOne X1000 - RadeonHD - 2 Gio RAM
    AmigaOne XE G4@933 - Radeon 9200 SE - 512 Mio RAM

      Afficher le profil de alexProfil  E-mail  Ouvrir le site web de alexwww  aim      Imprimer ce commentaireImprimer
    sadirux
    109     

    sadirux
      Posté : 02-05-2018 15:27

    merci beaucoup Alex pour cette explication !

      Afficher le profil de sadiruxProfil  Imprimer ce commentaireImprimer
    Eggman
    66    

    Eggman
      Posté : 02-05-2018 20:58

    C'est effectivement la syntaxe Kernighan & Ritchie.
    Elle prédate la syntaxe ANSI (C89) et ISO (C90) et n'est plus supportée.
    Si tu lis la langue de Shakespeare, tu peux avoir 2-3 éclairages sur l'évolution du C ici :
    https://en.wikipedia.org/wiki/C_(programming_language)#History


    quadra fortuné nostalgique

      Afficher le profil de EggmanProfil  Imprimer ce commentaireImprimer
    sadirux
    109     

    sadirux
      Posté : 02-05-2018 21:13

    Merci pour le lien, je me garde ça sous le coude, là je viens de passer un petit moment à comprendre la logique d'intuition en lisant l'AutoDocs intuition.doc, je suis satisfait car j'arrive à "remplir" les #include suivant les élèments dont j'ai besoin, car entre les proto, les classes, les gadgets et les images, il ne faut oublier personne. Heuresement que quelqu'un a pris le temps d'écrire le fichier reaction_macro.h, ça fait gagner pas mal de temps à la création des objects.

    Enfin voilà, je découvre tout ça petit à petit :)

      Afficher le profil de sadiruxProfil  Imprimer ce commentaireImprimer
    sadirux
    109     

    sadirux
      Posté : 16-05-2018 08:25

    Hello,

    S'avez-vous s'il est possible d'afficher un rendu minigl dans une GUI ReAction / MUI pour profiter des gadgets et d'un rendu 3D ?

    :)

      Afficher le profil de sadiruxProfil  Imprimer ce commentaireImprimer
    thellier
    868      

    thellier
      Posté : 16-05-2018 14:20

    je connais pas MUI :-/

    Mais ce doit être possible dès lors qu'on a le pointeur de la fenêtre et donc celui de sa bitmap

    MiniGL peut tracer dans des bitmaps c'est décrit ici

    http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=33756&forum=15&14



    Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig

      Afficher le profil de thellierProfil  Imprimer ce commentaireImprimer
    davebraco
    1182       

    davebraco
      Posté : 16-05-2018 16:20

    Dans les Blankers, y'a une GUI en réaction et une prévisu de l'économisateur d'écran. Donc cela doit être possible je suppose.

    A1200PPC / Sam440ep / Sam460ex / X1000 / X5000

      Afficher le profil de davebracoProfil   icq  aim    Imprimer ce commentaireImprimer
    sinisrus
    3053       

    sinisrus
      Posté : 16-05-2018 16:45

    @thellier

    Tu devrais essayer d'apprendre MUI c'est vraiment génial


    --
    Coin coin... amitheme.amiga-ng.org
    Sam460 1,15Ghz - OS4.1FE - Radeon4650 1Go - 2Go de ram

      Afficher le profil de sinisrusProfil  Ouvrir le site web de sinisruswww  Imprimer ce commentaireImprimer
    sadirux
    109     

    sadirux
      Posté : 17-05-2018 08:39

    Interessant tout ça ! Là je continue à découvrir ReAction :)

      Afficher le profil de sadiruxProfil  Imprimer ce commentaireImprimer
    Sauter à :


    Tous les Logos et Marques sont déposés, les commentaires sont sous la responsabilité de ceux qui les ont publiés. AmigaOS 4.x est (c) Hyperion Entertainment

    Conception graphique du thème : PowerMetal, codage : Alexandre Balaban
    Certaines images sont © Martin \"Mason\" Mertz

    Temps : 1540128212.6142 seconde(s)