essaye sur ams ou vti si possible.
SCPCD Le 30/12/2009 à 12:42 dans asti68k.c il y a printf((const char*) &HelpText); alors que HelpText est déclaré en tant que : const char* HelpText. Il ne faut donc pas mettre le "&".
Du coup il me fait un
move.l HelpText,-(sp), alors que j'attends un pea HelpText évidemment.
J'ai résoudru le problème cradement au niveau des sources : j'écris les chaines dans les printf. Mais j'aime pas, j'aime bien avoir les chaines groupées...
Pen^2 Le 30/12/2009 à 12:49Edité par Pen^2 le 30/12/2009 à 12:51 pas trop vérifié, mais helptext est déjà un pointeur non ? (c'est ce qui est expliqué sur la page précédente je crois)
le pea charcherait l'adresse du pointeur, ça n'irait pas
Une chaîne de caractères n'existe pas pas en C, c'est une vue de l'esprit : c'est un pointeur sur un char, et on a décidé par convention que ça continuait jusqu'à ce qu'on rencontre un '\0'
oui, je crois qu'il a rien compris a mes explications en fait.
helpText est l'adresse d'une case en mémoire qui contient l'adresse de .LC0, c'est ce qu'on appelle un pointeur en C
.LC0 est l'adresse de cases en mémoire qui contiennent ta chaine
si tu veux l'adresse de ta chaine, il faut le contenu de la mémoire à l'adresse helpText, donc move.l helpText, -(sp), sinon il faudrait pea .LC0
Quoi qu'il en soit, rien de tout cela n'explique le "corrupted program".

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
Pen^2 Le 30/12/2009 à 12:55 l'adresse de la chaîne
const char* str= "huhu"
est str
Zeph Le 30/12/2009 à 13:02 Précisément.
C'est bien pour ça que c'est pas la peine de passer 3 pages à se demander si HelpText est un pointeur ou non et à ajouter 3 tonnes de const, & et * au petit bonheur la chance avec des justifications aléatoires. Le code proposé par Folco était correct dès le départ. Si c'est effectivement un problème du compilateur, et il semblerait bien que ça en soit un, ceux qui ont déjà mis les mains dans GCC/TIGCC/GCC4TI ont plus de chances d'avoir des explications.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
j'en ai un peu marre là. Je vais chercher des popcorns maintenant, et je laisse folco exécuter son code "pas correct" sur ams "pour voir".
Pen^2 -> j'ai essayé ça au pif, mais le code d'origine ne le comporte pas.
PpHd -> Bien vu et merci, je vais regarder pourquoi alors j'arrive pas à compiler correctement.
Zeph Le 30/12/2009 à 15:19 Il vaudrait mieux que tu postes le code d'origine, qui est correct d'après le début du topic, plutôt que les tentatives de contournement avec des casts partout (qui au mieux vont occulter le vrai problème, et au pire n'auront aucun sens).

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Zeph Le 30/12/2009 à 16:20 heu... et c'est la conséquence de quoi, cette corruption qui apparait quand tu déclares une variable globale ?

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Tiens au fait, comment écrire mon code pour qu'il ne crée pas de variable pointeur, et ainsi fasse directement un :
pea machaine(pc)
bsr printf
machaine : dc.b "toto",0
PpHd Le 30/12/2009 à 21:42 printf ("toto") marche...
Tout à fait. Mais si je veux éviter ça ? J'aime bien regrouper mes chaines dans un fichier, et les trier en catégories données.
PpHd Le 30/12/2009 à 21:49 #include "chaines.h"
contenant:
#define chaine1 "Toto is good"
et tu laisses l'option qui demande au linkeur de fusionner les constantes textuelles ?