Problème de Macro avec vbcc

10 sujets de 1 à 10 (sur un total de 10)

  • Gofromiel

      #884

      Bonjour tous ! A ben bravo, on veux être moderne et s’ouvrir à de nouveaux horizons. On veut laisser un peu SAS/C pour passer à vbcc en se disant : « ben, c’est du C, ça doit être pareil ». On veut faire tout bien pour que ça compile avec n’importe quoi, pour que tous les gens soient contents… et ben c’est carrément la m*rde !!

      Bon, j’ai fais les frais de la joyeuse découverte des inlines plutôt que des pragmas… de la nouvelle (ENCORE !!) façon de gérer l’ASM et la déclaration de paramètres (__reg(« d0 »), c’est sur, c’est plus pratique :-))

      Bon, et là j’ai un problème TROP CON. Ma macro « #define End TAG_DONE) » NE MARCHE PLUS ????? vbcc m’affiche un joli « unfinished macro call > EOF » 😮 Ha oui ?? Tu le prends comme ça ? Purée ça fais 4 heures que j’essai de t’installer, en tapant à la main tout le fichier ‘inline’ de ma bibliothèque, et toi tu veux même pas gérer ma macro toute c*nne ??? C’est pas possible !!

      C’est quand même dingue, paske « #define End TAG_DONE » lui pose pas de problème… c’est la parenthèse, LA PARENTHESE, qui le gène… quid ?? Comment faire !!!

      COMMENT FAIRE !! Si quelqu’un dans la salle peut me venir en aide, avant que je ne me suicide avec des petits suisses périmés ?? MERCI, je vous aimerais toute ma vie !!

      stan

        #23704

        Welcome!

        Inlines ou pragma, ça ne change rien pour l’utilisateur d’une bibliothèque, vu qu’il suffit d’inclure dans les deux cas.

        Si tu développes une lib, ça ne change pas grand chose non plus puisqu’il suffit d’utiliser fd2pragma pour générer les fichiers pragmas et inlines à partir des fd et clib (ou du sfd).

        La macro marche. Par contre, VBCC ne supporte pas les macros non terminées sur une ligne… Si je ne m’abuse, la solution est de remplacer les inlines de la lib que tu utilises dans les lignes précédant ta macro End par une stub lib.

        Gofromiel

          #23705

          Cher stan. J’ai pas tout compris, mais je vais faire un effort. En ce qui concerne fd2pragma, j’ai découvers qu’il y avait une nouvelle version après m’être tout tapé à la main… j’adoooore. Pour les stubs, je dis « oui, oui, oui ? ». Comment je fais des stubs ? J’aurais bien jeté un oeil aux sources de stubs de l’os de vbcc, mais elles ne sont pas dans l’archive… Y aurait-il un endroit merveilleux avec de la documentation sérieuse (ne me parle pas de guru-med s’il te plait).

          A ce propos. C’est quand même extraordinaire que ce soit si difficile de savoir comment identifier le compilateur, je parle de __SASC, _GCC, _DCC, __VBCC__. Sans rire, c’est écrit NULLE PART ! Ou alors je suis vraiment très c*n ?

          J’ai l’air désespéré ? :-D En tout cas, merci de vos réponses !!

          corto

            #23706

            Gofromiel : Allons, allons, il ne faut pas s’énerver. Le langage C reste du C mais tu ne pourras pas passer à côté d’un « portage » d’un compilo vers un autre. Le but étant d’arriver à compiler ton projet sur les deux ou trois compilos qu’on a.

            SAS/C est très orienté Amiga, registres 68k, etc. Commence par utiliser des macros pour encapsuler tout ce qui touche aux trucs du genre __reg, __asm, __saveds, … Tu trouves tout ce qu’il faut dans CLib-SDI.lha sur Aminet.

            Quand ton source compile comme ça sous SAS/C, passe à VBCC.

            Ca n’est pas « la merde », il faut juste appliquer quelques méthodes. Tu ne veux pas qu’on parle de gurumed mais le travail qui y a été fait t’intéresserais pour ton problème. Consulte cette doc et regarde page 28 dans le chapitre dédié au portage.

            Pour ton problème de macro, essaie de compiler avec -DNO_INLINE_STDARG.

            Allez, courage, tu seras bien satisfait quand ça va passer !

            stan

              #23707

              Mon cher Gofromiel,

              Tu trouveras la réponse à tes questions sur GuruMed.

              Pour __VBCC__, je suppose que tu dois être vraiment très c*n puisque c’est écrit dans la doc.

              Amicalement,

              Gofromiel

                #23708

                @Corto: Merci beaucoup !! StormC me pose bien moins de problèmes… même si quelques inexplicables persistent… mais ça, ce sont les joies de l’informatique :-D Clib-SDI à l’air drôlement bien en tout cas !

                @Stan ui, je suis sûrement très c*n, parce que j’ai lu la doc une dizaine de fois sans rien voir… peut-être la fatigue… il était quand même 6H du matin :-D Ô fole jeunesse exhaltée 8-) Ben, en fait non, chui pas con (11ième lecture avec recherche). Ce n’est indiqué nulle part ! j’ai lu cette doc, et je te mets au défi de me trouver la déclaration __VBCC__ !!

                MERCI !! Je vous aimerez jusqu’à lundi !

                stan

                  #23709

                  Oh la la. Je dois être vraiment très c*n, vu qu’effectivement ce n’est pas dans la doc. J’en étais persuadé.

                  Bon ben voilà, c’est pas grave hein, maintenant tu le sais :) (pas que je suis c*n, mais qu’il définit __VBCC__).

                  Sinon, pour compléter ma réponse précédente (tu m’avais tendu une si belle perche…), tu peux utiliser fd2pragma pour générer des stub libs, avec l’argument SPECIAL 12 pour du 68k ou SPECIAL 73 pour du WarpOS (cf la doc, chapitre « options »). Je faisais référence à mon article intitulé Le C sur Amiga qui précise que fd2pragma permet de générer tous les fichiers nécessaires à l’utilisation d’une bibliothèque partagée.

                  Il me semble, au passage, qu’il pourrait être constructif que tu nous expliques pourquoi tu ne veux pas entendre parler de GuruMed.

                  Gofromiel

                    #23710

                    Merci Stan pour toutes ces infos pertinantes !

                    En ce qui concerne la perche, c’est quand même dingue que ce ne soit pas indiqué dans la doc, ça paraît un minimum…

                    Au risque de me faire taper sur les doigts (je m’en fiche j’en ai plein) je suis allé un peu vite sur GuruMed pour tenter de chercher des réponses, et ce que j’ai vu m’a parrut un peu léger. J’y suis retourné depuis et j’ai révisé un jugement attif. Les articles sont rédigé de façon pédagogiques, mais j’ai pas l’impression de mettre les mains dans le cambouis, si tu vois ce que je veux dire. C’est un point de vu personnel, il m’arrive de programmer encore en assembleur 8-) et j’aime beaucoup le « bas niveau ».

                    En tous cas, merci de vos réponses.

                    stan

                      #23711

                      Si tu veux dire que certains articles sur GuruMed sont plutôt superficiels, c’est probablement vrai… D’autres sont très concrets. Dans tous les cas, le site est encore bien loin de couvrir l’intégralité de la programmation AmigaOS/MorphOS, et les articles ne sont certainement pas parfaits, mais on fait ce qu’on peut pour aider les gens à s’y mettre.

                      Gofromiel

                        #23712

                        Et c’est très bien !! Perso je trouve ça super de programmer sur Amiga parce qu’il y a BEAUCOUP de choses qui manquent. On dévie du thread, alors bonne continuation, et félicitations pour GuruMed !

                      10 sujets de 1 à 10 (sur un total de 10)

                      • Vous devez être connecté pour répondre à ce sujet.

                      Forums AmigaOS, MorphOS et AROS Développement Problème de Macro avec vbcc

                      Amiga Impact