Programmer l’amiga 68k bouts de code IDE langages, astuces

5 sujets de 31 à 35 (sur un total de 35)

  • slack

      #384506

      @GothDevil (カスリン)

      Cela n’est pas un livre mais il y a un page consacrée à la programmation sur le site obligement. Je m’en suis inspiré pour coder en assembleur sur amiga. Mais il y a aussi du C.

      Le K&R est un excellent livre sur le C. Les Amiga Rom Kernel Manual sont des références sur amigaOS. J’ai le premier traduit en français et les suivants sous forme de PDF. Des heures de lectures instructives.

      Bonnes lectures.

      kamelito

        #384510

        Il me semble que parler de K&R réfère à la version non ANSI.
        Du coup l’Amiga se programme en C ANSI ou pas ? Car la normalisation est arrivée en 89.

        • Cette réponse a été modifiée le il y a 3 jours et 5 heures par kamelito.

        GothDevil (カスリン)

          #384547

          Merci @slack !

          __sam__

            #384550

            Il me semble que parler de K&R réfère à la version non ANSI.
            Du coup l’Amiga se programme en C ANSI ou pas ? Car la normalisation est arrivée en 89.

            L’amiga se programme en ce qu’on veut. Il existe des vieux compilos K&R (Dice (DCC), PDC, SmallC) sur aminet ou ailleurs (Aztec-C) , mais cette syntaxe est vraiment désuète et limite pas mal la détection des problèmes par le compilateur et du coup on se retrouve à avoir des messages cryptiques, ou des plantages hasardeux parce que le programme marche un peu par hasard sans que le compilateur n’affiche de warning à propos d’undefined-behavior qui est un concept de la sémantique C plus récente.

            Du coup il vaut mieux utiliser un compilateur moderne dont la sémantique du C est mieux formalisé et laisse moins de chance que le programme marche « par hasard ». Parmi les plus connus, il y a GCC de la distribution ADE sur aminet qui est plutôt très gros mais assez complet mais très orienté unix (y compris dans sa syntaxe asm 680×0 pour ceux qui auraient la curiosité de voir la tronche du code machin généré) et aussi VBCC qui est moins gros, et que je trouve plus simple que GCC qui vient avec toute une clique d’outils secondaires gnu.
            * https://aminet.net/package/dev/gcc/ADE-repack (ll y a tout gcc dans la grosse archive)
            * https://aminet.net/package/dev/c/vbcc_target_m68k-amiga (kick 2.0+)
            ou
            * https://aminet.net/package/dev/c/vbcc_target_m68k-kick13
            et si on veut faire du C à la unix/posix (après tout le C vient de là):
            * https://aminet.net/package/dev/c/vbcc_PosixLib

            Evidemment gcc et vbcc existent en cross-dev (pour compiler sur une machine plus puissante) ou dev-natif PPC (morphos) ou même x86 (windows) pour s’amuser à programmer du C portable.

            Samuel.

            Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
            A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
            A500 Vampire V2+ ^8^ 🙂
            (mais aussi TO8, TO8D, TO9. Groupe PULS.)

            Sethghost

              #384551

              Il me semble que parler de K&R réfère à la version non ANSI.
              Du coup l’Amiga se programme en C ANSI ou pas ? Car la normalisation est arrivée en 89.

              Excellente remarque/question !

              La 2eme Edition du K&C est sous titré Norme ANSI.

              Il serait utile de résumer ce qu’est « ANSI », « norme ANSI » et les différentes versions du C dans ce sujet de programmation sur amiga 68k, savoir exactement quelle norme tu peux utiliser et avec quel compilateur.
              L’American National Standards Institute (ANSI, litt. « Institut national de normalisation américain ») est un organisme privé à but non lucratif qui supervise le développement de normes pour les produits, les services, les procédés, les systèmes et les employés des États-Unis…

              ANSI C = C89 = C90
              C89 : Nom officiel de la norme établie par ANSI en 1989.
              C90 : Nom donné par l’ISO (Organisation internationale de normalisation) lors de son adoption en 1990.
              Ils sont identiques : La norme ANSI C correspond donc à la norme C89/ISO C90, qui a mis fin aux incohérences des compilateurs avant les années 1990.

              Dans mon cas, je n’utilise que « ADE » (gcc-2.95.3) et compile exclusivement sur amigaOS 3.2.
              ADE permet de compiler du code à la norme C89-C90 mais accepte les commentaires sur une ligne en barres parallèles (C99) :
              // ceci est un commentaire
              Ce qui fait sortir du C89 strict. (en fait les // sont introduits dans le C99.
              En 1999 création de la norme C99 (ISO/IEC 9899:1999).

              Rappel pour compiler avec ADE :
              https://aminet.net/package/dev/gcc/ADE
              gcc -noixemul monsource.c
              donne un fichier a.out exécutable.

              Il faudrait aussi rappeler ce que sont ixemul et la ixemul.library et aussi évoquer « Geek gadgets » :
              En gros la ixemul.library associé à ADE crée un pont (ajoute), permet d’utiliser des commandes unix sur amigaOS.
              Heureusement, il y a obligement :
              http://obligement.free.fr/articles/installation_geek_gadgets.php

              Pour faire fonctionner ADE, ajouter ceci à la user-startup ou vérifier que le script d’installation l’a fait :
              ;BEGIN ADE
              CD Coding:ADE
              Execute ADE-Startup ; le starter (script dos) du monstre appelé ADE
              ;END ADE

              Vite, un panneau solaire.

            5 sujets de 31 à 35 (sur un total de 35)

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

            Forums AmigaOS, MorphOS et AROS Développement Programmer l’amiga 68k bouts de code IDE langages, astuces

            Amiga Impact