Utiliser les lib maths avec SAS/C

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

  • Gofromiel

      #1705

      Yo tous !

      J’ai fait de belles fonctions pour faire des dégradés, et une d’entre elles utilise un sin() et un cos(). Ca marche très bien, SAS/C me le compile pour du 68040 et je le lie (link) avec la lib scm040.lib… même s’il se pleind qu’il manque _CXEXIT ou un truc comme ça (rien à foutre) ça marche.

      Voilà mon problème. Dans ma générosité infinie, je pense à tous ceux qui ont un 68020 et un copro, ou rien du tout au pire. Donc au lieu d’utiliser MATH=040 j’utilise MATH=IEEE pour lier avec lib:mieee.lib. Et là ça chie direct ! :-(

      J’ai oublié de préciser que la fonction se trouve dans une bibliothèque partagée. Parce qu’avec la version executable il n’y a aucun problème.

      Mon esprit de déduction légendaire à l’affut je m’apperçois que là où ça plante le registre a6 est vide !!! Donc cos() ou sin() appellent une fonction de la bibliothèque math SANS l’avoir ouverte ! Diantre comment faire ?? SAS/C me colle des symbole dans tous les sens… espérant que je vais faire un executable lié avec sc.lib ou un truc dans le genre…

      Du coup j’ai essayé de remplacer sin() et cos() par IEEEDPsin() et IEEEDPcos() sans lier avec mieee.lib et là c’est l’avalanche de symbole externes… 😮

      Qu’est ce que je peux faire ? Parce que ça plante sous 68020 et je peux pas laisser ça comme ça… perfectionnisme exacerbé oblige… HELP !

      Merci de votre aide, je vous aimerais toute ma vie ! :-D

      M_o_Illusion

        #36163

        Nous aussi on t’aime ^^

        (dsl, c’était le message inutile du jour ;-))

        Gofromiel

          #36164

          Pff oui c’est cool l’amour, mais les solutions c’est mieux :-)

          stan

            #36165

            J’ai jamais fait de lib partagées, mais je crois qu’il faut éviter la plupart (toutes ?) des fonction de la libc, non ?

            Donc euh… J’en sais pas plus :). Ça marche pas si tu linkes avec mieee.lib et que tu ouvres la lib mathieeetruc.library toi-même ?

            Gofromiel

              #36166

              Voilà ce qui se passe : si j’utilise les libs comme si de rien n’était je me retrouve avec un truc tout pourrit parce que le code sensé ouvrir les bibliothèques maths (bibliothèques partagées de commodore) n’est jamais appelé, et pour cause, l’entête de démarrage n’est pas celui d’un exécutable. Exit donc les auto_init et autre… sont pas bien malins chez SAS… Du coup il faut ouvrir les bibliothèques à la main et on se retrouve avec plein de code dégueulasse et plein de symboles externes tous pourrits qui ne pointent nulle part. SUPER !

              J’ai rien trouvé sur Aminet non plus. A croire que ce n’est jamais arrivé dans l’histoire de la programmation sur Amiga, ce dont je doute fort.

              Ben tant pis. J’ai fais une version pour 68040 et une version qui utilise des tables de données. C’est nul.

              hybrid

                #36167

                une question bête … tu as essayé de compiler ton code avec VBCC ou GCC ?

                Sas est bien mais il est plus tout jeune …

                anonyme

                  #36168

                  [hors sujet]

                  plus tout jeune, plus tout jeune, non mais oh ! :)

                  [/hors sujet]

                  Gofromiel

                    #36169

                    @Hybrid: Ben non tient, j’ai pas essayé vbcc… On m’a envoyé un package pour Feelin, mais il y a un truc qui cloche (même si l’executable fonctionne), vbcc n’arrête pas de se plaindre « warning 85 : assignment of different pointers » ?? Je vois absolument pas où est le problème, ni StormC ni GCC n’ont trouvé à redire au code…

                    Bon de toute façon c’est pas très important, juste dommage.

                    @Sas: C’est clair t’es pas trop vieux ! Je te kiffe plus que le nutella ! Sans rire y’a que SAS qui utilise les GST (global symbol table) ? C’est lui le plus rapide pour compiler… et de loin !

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

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

                  Forums AmigaOS, MorphOS et AROS Développement Utiliser les lib maths avec SAS/C

                  Amiga Impact