Derniers sujets
» Comment configurer un joystick ?
problème de compilation c OSDK 1.14 EmptyHier à 10:18 par Sebiohazard

» Lancement de jeux - Messages d'erreur
problème de compilation c OSDK 1.14 EmptyHier à 10:06 par Sebiohazard

» Aides pour le depannage
problème de compilation c OSDK 1.14 EmptyHier à 6:25 par Voyageur

» The last warrior
problème de compilation c OSDK 1.14 EmptyVen 19 Juil 2019 - 14:58 par Dom50

» Base de données listings ?
problème de compilation c OSDK 1.14 EmptyMer 17 Juil 2019 - 7:17 par Symoon

» Pub télé pour l'Oric Atmos
problème de compilation c OSDK 1.14 EmptyLun 15 Juil 2019 - 23:29 par Ladywasky

» Invitation à l'Alchimie 13
problème de compilation c OSDK 1.14 EmptyDim 14 Juil 2019 - 19:36 par didierv

» Devoirs de vacances
problème de compilation c OSDK 1.14 EmptyDim 14 Juil 2019 - 13:09 par Voyageur

» Petit jeu: robot
problème de compilation c OSDK 1.14 EmptySam 13 Juil 2019 - 12:11 par Symoon

» The voyage of the Golden Hind
problème de compilation c OSDK 1.14 EmptyVen 12 Juil 2019 - 12:47 par retroric

» récupération d'anciens listings via l'OCR Google Docs
problème de compilation c OSDK 1.14 EmptyVen 12 Juil 2019 - 12:43 par retroric

» Boitier Oric HD
problème de compilation c OSDK 1.14 EmptyVen 12 Juil 2019 - 0:54 par Symoon

» Effet sonore : Torpille spatiale (Deuxlignes !)
problème de compilation c OSDK 1.14 EmptyMer 10 Juil 2019 - 18:19 par Ladywasky

» Un "oncle/cousin" de l'Oric ?
problème de compilation c OSDK 1.14 EmptyMer 10 Juil 2019 - 12:36 par kenneth

» Zorgons Revenge cassette demo
problème de compilation c OSDK 1.14 EmptyDim 7 Juil 2019 - 9:25 par Symoon

Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun

Le record du nombre d'utilisateurs en ligne est de 29 le Mer 25 Fév 2015 - 14:01
Connexion

Récupérer mon mot de passe

Statistiques
Nous avons 188 membres enregistrés
L'utilisateur enregistré le plus récent est Sebiohazard

Nos membres ont posté un total de 7453 messages dans 645 sujets
Portail ORIC




problème de compilation c OSDK 1.14

Poster un nouveau sujet   Répondre au sujet

Page 1 sur 2 1, 2  Suivant

Aller en bas

problème de compilation c OSDK 1.14 Empty problème de compilation c OSDK 1.14

Message par goyo le Mer 19 Juin 2019 - 14:45

depuis que j'ai installé la dernière version ( 1.14 ) d'OSDK, mes programmes avec des tableaux de type char de plus de 127 éléments provoques une erreur de syntaxe à la compilation : 08bb.

Du coup comment gérer des tableaux de plus de 127 char avec cette dernière version ?

Aussi je ne sais pas où trouver la doc de référence des erreurs du compilateur.

Rolling Eyes

Code:

void main()
{
 // 127 max ?
 char tab[]="01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567";
 
 printf(tab);
  
}

Code:
Building the program HWSIMPLE at adress $800 [OSDK 1.14]
Compiling MAIN.C
 - preprocess
 - compile
 - convert C to assembly code
 - cleanup output
Assembling print.S
Linking
D:\osdk\sample\c\test2
Assembling
.asc "01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567"
D:\osdk\sample\c\test2\MAIN.s(3):  08bb:Syntax error
Break after 1 errors
ERROR : Build failed.
Appuyez sur une touche pour continuer...
goyo
goyo

Messages : 162
Date d'inscription : 02/05/2014
Age : 47
Localisation : Massy

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par Dbug le Jeu 20 Juin 2019 - 20:46

Tu confirmes que y'a pas de problème avec la version 1.13 ?
(Tu peux avoir les deux versions installées en meme temps, et juste changer la variable d'environnement pour pointer sur la bonne version)

_________________

Dbug
Dbug

Messages : 171
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par retroric le Jeu 20 Juin 2019 - 23:25

Salut DBug,

De mon côté, je confirme aussi l'existence de problèmes avec la dernière version de l'OSDK, mais au niveau de l'EXECUTION, et non pas de la COMPILATION:

Je l'ai testé sur ma dernière version d'ElectrOric, et si le build se déroule correctement, en revanche j'ai des erreurs à l'exécution au niveau d'un tableau de sprites (les sprites sont du coup mal affichés). Aucun problème avec la v1.13 ni les versions précédentes de l'OSDK.

Je vais tester le mode -O2 avec la v1.14, pour voir si le souci est lié à l'activation par défaut de -O3.

EDIT: en fait j'ai un "SET OSDKCOMP=-O2" dans mes scripts de build, donc je confirme que j'ai aussi de toutes façons des soucis (de tableaux aussi donc vraisemblablement) avec la v1.14 en mode -O2.


Dernière édition par retroric le Jeu 20 Juin 2019 - 23:37, édité 1 fois

_________________
retrOric (Laurent D)https://github.com/retroric
retroric
retroric

Messages : 503
Date d'inscription : 09/08/2014
Age : 48
Localisation : Paris

https://github.com/retroric

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par retroric le Jeu 20 Juin 2019 - 23:31

PS - je viens de tester la compilation en mode -O3... Alors là, c'est le désastre complet, au lancement de mon jeu je n'ai plus aucun graphisme qui s'affiche.... Crying or Very sad

Par contre, niveau gain d'espace c'est pas mal, je passe de 36440 octets à 31861 octets de binaire généré ! Laughing

_________________
retrOric (Laurent D)https://github.com/retroric
retroric
retroric

Messages : 503
Date d'inscription : 09/08/2014
Age : 48
Localisation : Paris

https://github.com/retroric

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par retroric le Jeu 20 Juin 2019 - 23:36

Pour info, voici le tableau qui pose problème (certains éléments graphiques se retrouvent "inversés" avec OSDK 1.14):

Code:

extern unsigned char g_gate_sprites[][16][5] =
{   
   // 0: NOT
   { { 0x40, 0x40, 0x5E, 0x40, 0x40 },
   { 0x41, 0x44, 0x5E, 0x48, 0x60 },
   { 0x4F, 0x7F, 0x7F, 0x7F, 0x78 },
   { 0x50, 0x40, 0x40, 0x40, 0x44 },
   { 0x50, 0x7C, 0x5E, 0x7E, 0x44 },
   { 0x70, 0x62, 0x62, 0x48, 0x46 },
   { 0x50, 0x62, 0x62, 0x48, 0x44 },
   { 0x50, 0x62, 0x62, 0x48, 0x44 },
   { 0x50, 0x72, 0x72, 0x4C, 0x44 },
   { 0x50, 0x72, 0x72, 0x4C, 0x44 },
   { 0x70, 0x72, 0x72, 0x4C, 0x46 },
   { 0x50, 0x72, 0x7C, 0x4C, 0x44 },
   { 0x50, 0x40, 0x40, 0x40, 0x44 },
   { 0x4F, 0x7F, 0x7F, 0x7F, 0x78 },
   { 0x41, 0x44, 0x5E, 0x48, 0x60 },
   { 0x40, 0x40, 0x5E, 0x40, 0x40 } },
   
   // 1: AND
   
   { { 0x40, 0x40, 0x5E, 0x40, 0x40 },
   { 0x42, 0x52, 0x5E, 0x52, 0x50 },
   { 0x4F, 0x7F, 0x7F, 0x7F, 0x78 },
   { 0x50, 0x40, 0x40, 0x40, 0x44 },
   { 0x50, 0x5C, 0x78, 0x7C, 0x44 },
   { 0x70, 0x62, 0x66, 0x62, 0x46 },
   { 0x50, 0x62, 0x62, 0x62, 0x44 },
   { 0x50, 0x62, 0x62, 0x62, 0x44 },
   { 0x50, 0x7E, 0x72, 0x72, 0x44 },
   { 0x50, 0x72, 0x72, 0x72, 0x44 },
   { 0x50, 0x72, 0x72, 0x72, 0x46 },
   { 0x70, 0x72, 0x72, 0x7C, 0x44 },
   { 0x50, 0x40, 0x40, 0x40, 0x44 },
   { 0x4F, 0x7F, 0x7F, 0x7F, 0x78 },
   { 0x42, 0x5E, 0x52, 0x5E, 0x50 },
   { 0x40, 0x5E, 0x40, 0x5E, 0x40 } },

   // 2: OR
   { { 0x40, 0x40, 0x5E, 0x40, 0x40 },
   { 0x42, 0x52, 0x5E, 0x52, 0x50 },
   { 0x5F, 0x7F, 0x7F, 0x7F, 0x7C },
   { 0x70, 0x40, 0x40, 0x40, 0x46 },
   { 0x50, 0x43, 0x77, 0x40, 0x44 },
   { 0x50, 0x44, 0x54, 0x60, 0x44 },
   { 0x70, 0x44, 0x54, 0x60, 0x46 },
   { 0x50, 0x44, 0x54, 0x60, 0x44 },
   { 0x50, 0x46, 0x57, 0x60, 0x44 },
   { 0x70, 0x46, 0x56, 0x70, 0x46 },
   { 0x50, 0x46, 0x56, 0x70, 0x44 },
   { 0x50, 0x43, 0x66, 0x70, 0x44 },
   { 0x70, 0x40, 0x40, 0x40, 0x46 },
   { 0x5F, 0x7F, 0x7F, 0x7F, 0x7C },
   { 0x42, 0x5E, 0x52, 0x5E, 0x50 },
   { 0x40, 0x5E, 0x40, 0x5E, 0x40 } },

   // 3: XOR
    { { 0x40, 0x40, 0x5E, 0x40, 0x40 },
    { 0x46, 0x4C, 0x5E, 0x4C, 0x70 },
    { 0x5F, 0x7F, 0x7F, 0x7F, 0x7C },
    { 0x50, 0x40, 0x40, 0x40, 0x44 },
    { 0x70, 0x62, 0x5E, 0x78, 0x46 },
    { 0x70, 0x62, 0x62, 0x64, 0x46 },
    { 0x50, 0x62, 0x62, 0x64, 0x44 },
    { 0x50, 0x5C, 0x62, 0x64, 0x44 },
    { 0x50, 0x56, 0x72, 0x7C, 0x44 },
    { 0x50, 0x72, 0x72, 0x76, 0x44 },
    { 0x70, 0x72, 0x72, 0x76, 0x46 },
    { 0x70, 0x72, 0x5C, 0x76, 0x46 },
    { 0x50, 0x40, 0x40, 0x40, 0x44 },
    { 0x5F, 0x7F, 0x7F, 0x7F, 0x7C },
    { 0x46, 0x5E, 0x4C, 0x5E, 0x70 },
    { 0x40, 0x5E, 0x40, 0x5E, 0x40 } },

   // 4: NAND
   { { 0x40, 0x40, 0x5E, 0x40, 0x40 },
   { 0x46, 0x4C, 0x5E, 0x4C, 0x70 },
   { 0x5F, 0x7F, 0x7F, 0x7F, 0x7C },
   { 0x50, 0x40, 0x40, 0x40, 0x44 },
   { 0x77, 0x63, 0x47, 0x47, 0x66 },
   { 0x74, 0x76, 0x64, 0x74, 0x56 },
   { 0x54, 0x56, 0x54, 0x54, 0x54 },
   { 0x54, 0x56, 0x54, 0x54, 0x54 },
   { 0x56, 0x57, 0x76, 0x56, 0x54 },
   { 0x56, 0x56, 0x56, 0x56, 0x54 },
   { 0x76, 0x56, 0x56, 0x56, 0x56 },
   { 0x76, 0x56, 0x56, 0x57, 0x66 },
   { 0x50, 0x40, 0x40, 0x40, 0x44 },
   { 0x5F, 0x7F, 0x7F, 0x7F, 0x7C },
   { 0x46, 0x5E, 0x4C, 0x5E, 0x70 },
   { 0x40, 0x5E, 0x40, 0x5E, 0x40 } },

   // 5: NOR
   { { 0x40, 0x40, 0x5E, 0x40, 0x40 },
   { 0x46, 0x4C, 0x5E, 0x4C, 0x70 },
   { 0x5F, 0x7F, 0x7F, 0x7F, 0x7C },
   { 0x50, 0x40, 0x40, 0x40, 0x44 },
   { 0x70, 0x7C, 0x5E, 0x78, 0x46 },
   { 0x70, 0x62, 0x62, 0x64, 0x46 },
   { 0x50, 0x62, 0x62, 0x64, 0x44 },
   { 0x50, 0x62, 0x62, 0x64, 0x44 },
   { 0x50, 0x72, 0x72, 0x7C, 0x44 },
   { 0x50, 0x72, 0x72, 0x76, 0x44 },
   { 0x70, 0x72, 0x72, 0x76, 0x46 },
   { 0x70, 0x72, 0x5C, 0x76, 0x46 },
   { 0x50, 0x40, 0x40, 0x40, 0x44 },
   { 0x5F, 0x7F, 0x7F, 0x7F, 0x7C },
   { 0x46, 0x5E, 0x4C, 0x5E, 0x70 },
   { 0x40, 0x5E, 0x40, 0x5E, 0x40 } },

   // 6: XNOR
   { { 0x40, 0x40, 0x5E, 0x40, 0x40 },
   { 0x46, 0x4C, 0x5E, 0x4C, 0x70 },
   { 0x5F, 0x7F, 0x7F, 0x7F, 0x7C },
   { 0x50, 0x40, 0x40, 0x40, 0x44 },
   { 0x74, 0x57, 0x63, 0x77, 0x46 },
   { 0x74, 0x54, 0x54, 0x54, 0x66 },
   { 0x54, 0x54, 0x54, 0x54, 0x64 },
   { 0x53, 0x64, 0x54, 0x54, 0x64 },
   { 0x53, 0x66, 0x56, 0x57, 0x64 },
   { 0x56, 0x56, 0x56, 0x56, 0x74 },
   { 0x76, 0x56, 0x56, 0x56, 0x76 },
   { 0x76, 0x56, 0x51, 0x66, 0x76 },
   { 0x50, 0x40, 0x40, 0x40, 0x44 },
   { 0x5F, 0x7F, 0x7F, 0x7F, 0x7C },
   { 0x46, 0x5E, 0x4C, 0x5E, 0x70 },
   { 0x40, 0x5E, 0x40, 0x5E, 0x40 } }
};

Pour l'instant ceci dit, c'est le seul bug que je rencontre avec la v1.14 en mode -O2.

_________________
retrOric (Laurent D)https://github.com/retroric
retroric
retroric

Messages : 503
Date d'inscription : 09/08/2014
Age : 48
Localisation : Paris

https://github.com/retroric

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par goyo le Ven 21 Juin 2019 - 10:10

Dbug a écrit:Tu confirmes que y'a pas de problème avec la version 1.13 ?
(Tu peux avoir les deux versions installées en meme temps, et juste changer la variable d'environnement pour pointer sur la bonne version)

Dbug, je confirme, pas de problème avec l'OSDK 1.13

Aussi, j'ai remarqué que lors du build de la 1.13 on ne voit pas le numéro de la version de l'OSDK, contrairement à la 1.14, info bien utile.
goyo
goyo

Messages : 162
Date d'inscription : 02/05/2014
Age : 47
Localisation : Massy

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par Dbug le Ven 21 Juin 2019 - 19:05

Un truc qui me chiffonne, c'est que les gens viennent reporter leurs problèmes OSDK sur ce forum là au lieu du forum defence force.

Je ne passe ici qu'une fois de temps en temps, donc fatalement les trucs reportés ici je ne les vois pas forcément... et au final la version 1.14 avec les trois RC est bien resté en test pour plus d'un mois, et quand plus personne ne m'a rapporté des problèmes j'ai sortit la version.

Est-ce que vous confirmez que les seuls problèmes trouvés sont avec la gestion des tableaux, ou bien il y a d'autres trucs?

_________________

Dbug
Dbug

Messages : 171
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par retroric le Ven 21 Juin 2019 - 19:21

De mon côté j'ai pas mal disparu de la circulation pendant 1 mois suite à un souci perso, et après je suis parti en vacances je viens juste de revenir,  j'avais meme pas vu que la v1.14 était sortie, c'est en voyant le post de Goyo que je l'ai su...

Je pourrai faire d'autres tests la semaine prochaine pour le mode -O2, mais en ce qui concerne le mode -O3 là je crois qu'il y a vraiment du boulot et de nombreux tests à faire pour voir "l'étendue des dégâts", si tu me passes l'expression, car par ailleurs évidemment je te remercie ainsi que Fabrice pour tous les efforts investis dans cette version, et j'espère que les soucis pourront être résolus rapidement malgré tout... Smile

_________________
retrOric (Laurent D)https://github.com/retroric
retroric
retroric

Messages : 503
Date d'inscription : 09/08/2014
Age : 48
Localisation : Paris

https://github.com/retroric

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par Dbug le Sam 22 Juin 2019 - 9:33

J'ai trouvé le problème avec les tableaux: L'ancien code de Fabrice générait des lignes de 16 valeurs hexa, et ensuite ca retournait a la ligne.
Le nouveau code génère des longues lignes si les tableaux sont larges, et ca dépasse la taille de ce que gère XA (256 charactères).

Sauf que le code de XA est aussi buggé, et ne se rend compte du problème que plus tard, d'ou le "Syntax Error".

Après, je ne sais pas: J'était en train de voir comment fixer le problème quand j'ai eu un appel du boulot pour une urgence, donc bon...

_________________

Dbug
Dbug

Messages : 171
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par goyo le Sam 22 Juin 2019 - 12:32

Merci Dbug de ton intervention.
Pardon pour le post, je posterai mes messages sur le sujet sur le forum de defense-force à l'avenir.
goyo
goyo

Messages : 162
Date d'inscription : 02/05/2014
Age : 47
Localisation : Massy

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par Dbug le Sam 22 Juin 2019 - 13:39

goyo a écrit:Merci Dbug de ton intervention.
Pardon pour le post, je posterai mes messages sur le sujet sur le forum de defense-force à l'avenir.
C'est plus pour un problème global d'efficacité.

C'est comme le thread sur "comment utiliser le player mym".

Je comprend la facilité d'utiliser un forum en francais, mais d'un autre coté, ca limite les réponses aux gens qui parlent francais, et quand ca ne revient pas aux auteurs des programmes c'est contre productifs.

J'ai vu d'autres forums se plaindre de problèmes sur Oricutron, Euphoric, ceci et cela, mais si les auteurs ne sont pas au courant ca ne risque pas d'être résolu.

Surtout, maintenant les outils de traduction sont suffisamment utilisables pour que le langage ne soit plus une barrière: Sur mon forum (et celui de ma boite) il y a plein de gens ne parlant pas anglais qui copient de la traduction automatique, dans 80% des cas c'est compréhensible Smile


_________________

Dbug
Dbug

Messages : 171
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par retroric le Dim 23 Juin 2019 - 10:57

Ceci étant DBug, tu ne peux pas non plus interdire aux gens d'utiliser ces forums sous prétexte que  ceux de Defence-Force seraient la "référence" pour tout ce qui concerne l'Oric... (d'autant plus que le CEO est tout de même une référence historique indéniable pour l'Oric...)

Et l'argument linguistique vaut dans les 2 sens, il est facile également aux anglophones d'utiliser un traducteur comme DeepL.com pour traduire du français vers l'anglais...

Il y a d'ailleurs quelques "étrangers" qui fréquentent ce forum, iss intervient régulièrement ici, et parfois Chema et Fabrizio entre autres...

Et pour finir, la réalité de la situation est qu'il y a de facto une "segmentation" assez complexe de la population de ces forums:
1) un groupe qui fréquente uniquement oric.org
2) un groupe qui fréquente uniquement defence-force.org
3) un dernier groupe enfin (heureusement le plus nombreux je crois) qui fréquente les 2 sites (mais avec des "proportions" de fréquentation différente, selon les périodes et les sujets abordés, software, hardware, ou autre...)

Du coup, c'est de  la "responsabilité" du 3e groupe à mon sens de faire le "lien" entre les 2 premiers groupes.

Dans le cas présent, c'était de notre "responsabilité" à Goyo et à moi de poster les messages sur OSDK sur les 2 forums. De ton côté, tu as fait ce qu'il fallait en venant ici régulièrement comme tu le fais...

Bref, cette discussion est intéressante pour sensibiliser les gens au fait qu'au final il vaut mieux poster ses questions techniques dans les 2 forums simultanément, ou mieux, poster dans l'un et faire un poste dans l'autre forum avec un lien vers le premier post...

Enfin, pour Oricutron, c'est encore un cas différent je pense, cle mieux est de poster des "issues" sur la page GitHub du projet...

Quoi qu'il en soit, pour en revenir aux problèmes sur la v1.14 d'OSDK, GRAND MERCI à toi d'avoir déjà trouvé une première piste, de mon côté je ferai plus de tests dès que possible, et essaierai de fournir un cas de test simple, quoique il serait bon je pense pour tester l'OSDK d'avoir justement sous le coude 2 ou 3 programmes conséquents en terme de taille de code (et idéalement faciles à tester niveau exécution) pour éprouver les nouvelles versions.

_________________
retrOric (Laurent D)https://github.com/retroric
retroric
retroric

Messages : 503
Date d'inscription : 09/08/2014
Age : 48
Localisation : Paris

https://github.com/retroric

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par Dbug le Dim 23 Juin 2019 - 15:29

retroric a écrit:Ceci étant DBug, tu ne peux pas non plus interdire aux gens d'utiliser ces forums sous prétexte que  ceux de Defence-Force seraient la "référence" pour tout ce qui concerne l'Oric... (d'autant plus que le CEO est tout de même une référence historique indéniable pour l'Oric...)
Ne me fait pas dire ce que je n'ai pas dit: Je dit juste que pour tout ce qui est OSDK c'est logique de me le signaler a moi.
Je ne vais pas m'amuser a faire le tour de facebook, twitter, oric.org, irc et usenet pour découvrir qu'il y a des problèmes dans le compilo.

Après que ce soit sur Defence-Force. ou bien sur la page Facebook du OSDK, le compte Twitter Defence-Force, c'est pas vraiment important, mais poster quelque part sans s'assurer que les auteurs sont au courant, c'est contre productif.

Pour ca que je contacted Fabrice pour tous les problèmes de compilateur.

Au final l'important c'est de signaler a la bonne personne et au bon endroit. Pas juste poster et espérer que les gens présent pourrons aider.
retroric a écrit:
Bref, cette discussion est intéressante pour sensibiliser les gens au fait qu'au final il vaut mieux poster ses questions techniques dans les 2 forums simultanément, ou mieux, poster dans l'un et faire un poste dans l'autre forum avec un lien vers le premier post...
Poster dans les deux forums, c'est contre productif, la seconde solution est meilleure, et quand le problème est réglé un message final expliquant la solution.

_________________

Dbug
Dbug

Messages : 171
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par Ladywasky le Mar 25 Juin 2019 - 20:05

Bin moi je fréquente les deux forums :
J'apprends sur defence-force et j'essaie d'expliquer ce que j'ai compris et mis en pratique, sur oric.org.
Les deux forums sont supers, et les deux sites sont complémentaires. Wink
Ladywasky
Ladywasky

Messages : 176
Date d'inscription : 25/08/2018

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par Ladywasky le Mar 25 Juin 2019 - 20:08

Pour l'OSDK, je n'ai pas testé les dernières moutures depuis janvier mais dès que je vois un bug je n'hésite pas à t'en faire part sur defence-force cher DBug.
Bises
Ladywasky
Ladywasky

Messages : 176
Date d'inscription : 25/08/2018

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par Dbug le Mer 26 Juin 2019 - 19:27

@goyo, retroric, est-ce que vous pouvez télécharger cette version du compilateur et la mettre dans votre répertoire "bin" du osdk 1.14 pour voir si ca règle les problèmes?
http://osdk.org/files/compiler.exe


_________________

Dbug
Dbug

Messages : 171
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par goyo le Jeu 27 Juin 2019 - 14:29

Dbug a écrit:@goyo, retroric, est-ce que vous pouvez télécharger cette version du compilateur et la mettre dans votre répertoire "bin" du osdk 1.14 pour voir si ca règle les problèmes?
http://osdk.org/files/compiler.exe


Pour moi, ça marche maintenant sans problème avec cette nouvelle version du compilateur !  

merci beaucoup DBUG !!  Wink
goyo
goyo

Messages : 162
Date d'inscription : 02/05/2014
Age : 47
Localisation : Massy

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par Dbug le Ven 28 Juin 2019 - 16:17

@goyo, cool.
Manque plus que @retroric pour savoir si ca règle ses problèmes.

Je ne sortirais une nouvelle version que si ca fixe les deux problèmes.

_________________

Dbug
Dbug

Messages : 171
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par retroric le Ven 28 Juin 2019 - 23:45

@DBug: Nope... Merci pour cette nouvelle version du compilateur, mais problème identique de mon côté... :-(

Au passage, si je peux me permettre, dans la nouvelle version d'OSDK il serait bon de corriger les erreurs de syntaxe dans les #defines pour les notes de musique dans sys/sound.h comme je te l'avais signalé, c'est pas grand-chose à corriger:

Issue #32: Syntax error in include/sys/sound.h
Details: The "#define NOTE_C-SHARP 2" uses an invalid "-" symbol that does not compile, should have been an underscore instead.

Au passage le libellé de l'issue est faux, et ça vaut pour d'autres #defiens (pour toutes les notes dièse en fait) ==> il faudrait mettre:

Details: The "#define NOTE_C- 2" uses an invalid "-" symbol that does not compile, should have been an underscore instead (or better, a _SHARP suffix).
This also applies to all #defines for sharp notes B To G, and DO to SI.

Ce "bug" cause des warnings, et cause surtout la redéfinition des notes "pures" DO à SI définies auparavant... Voici un extrait des warnings générés:

Code:

In file included from sound_fx.c:1:
V:\EMULATION\ORIC\OSDK\OSDK_1_14_patched\include\sys/sound.h:74: warning: missing white space after `#define NOTE_C'
V:\EMULATION\ORIC\OSDK\OSDK_1_14_patched\include\sys/sound.h:74: warning: `NOTE_C' redefined
V:\EMULATION\ORIC\OSDK\OSDK_1_14_patched\include\sys/sound.h:73: warning: this is the location of the previous definition
V:\EMULATION\ORIC\OSDK\OSDK_1_14_patched\include\sys/sound.h:76: warning: missing white space after `#define NOTE_D'
V:\EMULATION\ORIC\OSDK\OSDK_1_14_patched\include\sys/sound.h:76: warning: `NOTE_D' redefined
V:\EMULATION\ORIC\OSDK\OSDK_1_14_patched\include\sys/sound.h:75: warning: this is the location of the previous definition
V:\EMULATION\ORIC\OSDK\OSDK_1_14_patched\include\sys/sound.h:79: warning: missing white space after `#define NOTE_F'
.../...

Il me semble que je tavais envoyé le fichier sound.h corrigé à l'époque... Smile

A ta dispo pour plus de tests, je peux t'envoyer la dernière version du source de mon jeu en ZIP si tu le souhaites...

_________________
retrOric (Laurent D)https://github.com/retroric
retroric
retroric

Messages : 503
Date d'inscription : 09/08/2014
Age : 48
Localisation : Paris

https://github.com/retroric

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par Dbug le Sam 29 Juin 2019 - 10:58

retroric a écrit:Au passage, si je peux me permettre, dans la nouvelle version d'OSDK il serait bon de corriger les erreurs de syntaxe dans les #defines pour les notes de musique dans sys/sound.h comme je te l'avais signalé, c'est pas grand-chose à corriger:
Comme tu l'a toi meme écrit, c'est dans la liste des trucs a corriger.

Le concept de "c'est pas grand-chose" ne prend pas en compte que:
- je traite les trucs importants en premier (ce qui touche le plus de monde et n'a pas de solution simple comme dans ton cas vu que tu avais déja fixé le problème)
- quand je fixe un truc, je met aussi a jour la documentation, des examples pour reproduire le problème avant et après, je fait tourner toute ma liste de tests pour être sur que je ne casse pas un autre truc
de facon générale, en informatique, il n'y a pas de petit problème, pour ca qu'en général on évalue le temps en multipliant par deux le temps que l'on pense que ca va prendre, et on passe a l'unité de valeur suivante... donc le petit truc qui prend 1 seconde a régler, ca coute 2 minutes, et le truc qui ne devrait pas prendre plus d'une heure fini par te prendre deux jours Smile

retroric a écrit:
A ta dispo pour plus de tests, je peux t'envoyer la dernière version du source de mon jeu en ZIP si tu le souhaites...
De facon générale, ce genre de bug (génération de code incorrect) devrait systématiquement être accompagné d'un example facile a recompiler.
Goyo m'avait envoyé son programme, donc facile de valider 1.13/1.14 et voir que ca ne marche pas.

Voir: https://fr.wikipedia.org/wiki/Exemple_minimal_fonctionnel (ou http://sscce.org et https://stackoverflow.com/help/minimal-reproducible-example)

_________________

Dbug
Dbug

Messages : 171
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par retroric le Dim 30 Juin 2019 - 22:27

Salut DBug,

Je comprends et respecte ta manière de travailler, c'est juste que je pensais que pour ces erreurs de #defines dans sound.h, la correction était simple et n'appelait pas à des tests de non-régression trop compliqués, mais je comprends que tu veuilles faire les choses une par une et résoudre d'abord les pbs importants.

Pour ce qui est du bug sur OSDK1.14 (et version patchée) sur les tableaux:

Je t'avais déjà posté plus haut le source du tableau multi-dimensionnel qui posait souci, mais effectivement j'aurais du plutôt te poster un cas de test complet.

Je te joins donc un ZIP avec un prog simple permettant de reproduire le bug sur un tableau à 3 dimensions: on constate qu'à partir d'un certain point dans le tableau, avec OSDK1.14 et la version patchée certains éléments se "répètent" ce qui change l'ordre des valeurs dans le tableau.

Pour visualiser le problème, le mieux est de compiler le programme avec OSDK1.13 et la dernière version OSDK1.14 patchée, et de comparer un à un les éléments du tableau qui s'affichent lors de l'exécution des tests, on voit qu'à partir d'un certain moment (au niveau de l'élément 2 = sprite #1), les données diffèrent. On peut contrôler les données sources dans le fichier sprites.c .

J'ai rajouté un cas de test automatisé (le premier test) qui vérifie la valeur de certains éléments du tableau. J'ai juste choisi 3 éléments particuliers du tableau dont les valeurs sont incorrectes avec OSDK1.14 patché.

Pour faciliter la construction des versions du programme pour différentes versions d'OSDK, j'ai ajouté des définitions de variables d'environnement dans "osdk_config.bat", tu comprendras facilement la logique je pense. Au passage, le script osdk_config.bat génère aussi un fichier header "osdkver.h" à la volée, qui est utilisé dans le programme pour afficher la version d'OSDK utilisée pour le compiler.

Voilà, en espérant que ce cas de test te convienne, et que tu puisse trouver l'origine du problème...

Merci par avance pour tes investigations, pour ma part debugger le compilateur est malheureusement bien au-delà de mes capacités...

Laurent

PS:
- le cas de test est prévu pour être ouvert dans Visual Studio Code, il y a des mappings pour les fichiers .bat, mais on peut bien sûr aussi tout simplement construire l'exécutable en ligne de commande...

- je n'ai pas testé les tableaux à 1 ou 2 dimensions, je ne sais pas si le nombre de dimensions influe, ou si le bug se produit simplement à partir d'un certain nombre d'éléments dans le tableau, mais  ce cas de test peut être facilement adapté à différents tableaux.
Fichiers joints
problème de compilation c OSDK 1.14 Attachment
OSDK_MultiDimensionalArrayTestCase.zip (12 Ko) Téléchargé 4 fois

_________________
retrOric (Laurent D)https://github.com/retroric
retroric
retroric

Messages : 503
Date d'inscription : 09/08/2014
Age : 48
Localisation : Paris

https://github.com/retroric

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par retroric le Mar 2 Juil 2019 - 16:08

Hello,

Voici les informations que j'ai pu recueillir à l'aide de ce cas de test, en contrôlant les valeurs affichées avec la déclaration du tableau dans le fichier source "sprites.c":

- le problème qui se pose est que certaines valeurs du tableau semblent être dupliquées à l'initialisation, ce qui décale les valeurs suivantes dans le tableau, et fausse donc ensuite l'accès aux éléments du tableau.

- la première occurrence de ce bug apparaît au boute de la 103e valeur du tableau, qui est incorrecte, il s'agit d'une "répétition" de la 102e valeur du tableau, du coup la bonne valeur pour le 103e élément se retrouve affectée au 104e élément, et ainsi de suite...

Au niveau de l'exécution des tests, on retrouve 4 occurrences de ces "répétitions" de valeurs qui décalent le reste des valeurs du tableau:


- g_gate_sprites[1][4][2] répété (même valeur que g_gate_sprites[1][4][1]), ce qui décale toutes les valeurs suivantes.

- un nouveau décalage se produit pour la valeur de à la valeur
g_gate_sprites[3][7][3] répété (même valeur que g_gate_sprites[3][7][2])

- Puis encore pour g_gate_sprites[3][12][0] répété (même valeur que g_gate_sprites[3][11][4])

- Et enfin pour g_gate_sprites[5][13][1] (même valeur que g_gate_sprites[5][13][0])

Il y a donc un souci dans le compilateur au niveau du code d'initialisation d'un tableau, qui insère des valeurs en double à certains endroits, ce qui décale le reste des valeurs.

_________________
retrOric (Laurent D)https://github.com/retroric
retroric
retroric

Messages : 503
Date d'inscription : 09/08/2014
Age : 48
Localisation : Paris

https://github.com/retroric

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par Dbug le Mar 2 Juil 2019 - 18:17

retroric a écrit:Au passage, le script osdk_config.bat génère aussi un fichier header "osdkver.h" à la volée, qui est utilisé dans le programme pour afficher la version d'OSDK utilisée pour le compiler.
Pour ca, le plus simple est de modifier le make.bat pour passer la version au compilateur, style:

-DOSDKVERSION=\"%OSDKVERSION%\"

Code:
:: the -DATMOS is for Contiki
%OSDKB%\cpp.exe -lang-c++ -I %OSDK%\include -D__16BIT__ -D__NOFLOAT__ -DATMOS -DOSDKNAME_%OSDKNAME% -DOSDKVERSION=\"%OSDKVERSION%\" -nostdinc %1.c %OSDKT%\%1.c

Pour le reste, je suis en train de regarder plus en détails.

_________________

Dbug
Dbug

Messages : 171
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par Dbug le Mar 2 Juil 2019 - 19:12

Bon, le problème est identifié.

Ce ne sont que les valeurs "5C" qui sont dupliquées, et "5C" c'est le code ASCII du \.
En fait le nouveau compilateur de Fabrice génère des lignes "humainement lisibles" pour les codes affichables, et quand ca tombe sur un \ il le double parce que normalement c'est un caractère d'échappement, sauf que XA il échappe pas, donc on reste avec le double \.

J'en causes avec Fabrice.

_________________

Dbug
Dbug

Messages : 171
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par retroric le Mer 3 Juil 2019 - 12:42

Super, merci et bravo pour avoir cerné le bug si rapidement !!!! Very Happy  Very Happy  Very Happy

J'avoue que je n'avais pas songé à regarder les valeurs dupliquées, je pensais plutôt qu'il s'agissait d'un pb de taille de tableau ou de dimensions...

C'est ballot quand même le coup du caractère d'échappement, j'avoue que je n'aurais pas soupçonné qu'il y avait une "transformation" en caractères ASCII de valeurs numériques au cours du processus de compilation...

Du coup, si c'est la même chose avec les chaînes de caractères, ne risque-t-on pas d'avoir le même bug avec des programmes voulant afficher le caractère antislah dans une chaine, dans laquelle ce caractère serait donc doublé ?

PS - à ce que je comprends, cette "transformation" de valeurs en ASCII pour avoir des valeurs "humainement lisibles" dans les sources "compilés" en assembleur est donc une nouveauté de la v1.14 ?

_________________
retrOric (Laurent D)https://github.com/retroric
retroric
retroric

Messages : 503
Date d'inscription : 09/08/2014
Age : 48
Localisation : Paris

https://github.com/retroric

Revenir en haut Aller en bas

problème de compilation c OSDK 1.14 Empty Re: problème de compilation c OSDK 1.14

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous pouvez répondre aux sujets dans ce forum