Utiliser les lib maths avec SAS/C
8 sujets de 1 à 8 (sur un total de 8)
-
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 !
Nous aussi on t’aime ^^
(dsl, c’était le message inutile du jour )
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: 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