Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 24 881 574

  • Nb. de membres 186
  • Nb. d'articles 1 269
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» Syntaxe en c

Syntaxe en c#2531

6Contributeur(s)
sadiruxalexEggmanthellierdavebracosinisrus
3 Modérateur(s)
K-LElwoodcorto
sadirux sadiruxicon_post
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.


alex alexicon_post
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 A1222
AmigaOne X1000 - RadeonHD - 2 Gio RAM
AmigaOne XE G4@933 - Radeon 9200 SE - 512 Mio RAM
sadirux sadiruxicon_post
merci beaucoup Alex pour cette explication !
Eggman Eggmanicon_post
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
sadirux sadiruxicon_post
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 :)
sadirux sadiruxicon_post
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 ?

:)
thellier thelliericon_post

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
davebraco davebracoicon_post
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
sinisrus sinisrusicon_post
@thellier

Tu devrais essayer d'apprendre MUI c'est vraiment génial
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram
sadirux sadiruxicon_post
Interessant tout ça ! Là je continue à découvrir ReAction :)
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme