forumti.gif
@_ö
(05:16)  Bienvenue ! - Inscrivez vous pour poster ! -
@Boo, loloBX, HPMAN, 31 inconnu(s), 36 bot(s)

Login :  Mot de passe :      Se souvenir de moi.  Mot de passe perdu ?
/!\:: Cliquez ici pour vous inscrire et poster, créer des sujets ou des forums ! ::/!\
 « Précédent - 2/3 - Suivant » :: Pages
 Index » Forum Ti 89, Titanium / 92+ / Voyage 200 et TI-Nspire » Prog C TI (74r) » Test case qui renvoie "Corrupted program"
./29 - REPRISE AUTOMATIQUE DU MESSAGE PRECEDENT
16.06.2001 - 61140
12:24  squalyl - Posté : 30-12-2009  M
essaye sur ams ou vti si possible.
./Publicité AdSense
./30
16.01.2005 - 1085
12:42  SCPCD - Posté : 30-12-2009  M
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 "&".


avatar
./31
18.06.2001 - 26914
12:48  Folco - Posté : 30-12-2009  M
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...
avatar<<< Kernel Extremist©®™ >>> WIP : r9 - 2014-11-22

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./32
10.06.2001 - 27735
12:49  Pen^2 - Posté : 30-12-2009  M
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'

Edité par Pen^2 le 30-12-2009 à 12:51:59.
./33
16.06.2001 - 61140
12:51  squalyl - Posté : 30-12-2009  M
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
./34
18.06.2001 - 26914
12:53  Folco - Posté : 30-12-2009  M
squalyl (./33) :
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

ben justement, j'arrive pas à écrire ça en C de manière satisfaisante. Purée l'asm c'est simple, tout est pointeur...
avatar<<< Kernel Extremist©®™ >>> WIP : r9 - 2014-11-22

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./35
30.06.2001 - 35965
12:54  @Ximoon - Posté : 30-12-2009  M
Quoi qu'il en soit, rien de tout cela n'explique le "corrupted program".
avatarQue cache le pays des Dieux ? - Ximoon's Box - Forum Ghibli - Forum Littéraire

La 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.
./36
10.06.2001 - 27735
12:55  Pen^2 - Posté : 30-12-2009  M
l'adresse de la chaîne
const char* str= "huhu"
est str

./37
16.06.2001 - 61140
12:56  squalyl - Posté : 30-12-2009  M
RHAAAAAAAAA #grrr#

char * pointeur = "gloubiboulga";

printf(pointeur);

puts(pointeur);

void puts(char *string) {
while(*string) {
putchar(*string);
string++;
}
}

putchar(char c) {
dessine_un_sprite_de_char_et_calcule_la_position_du_prochain(c);
}
./38
13.06.2002 - 38225
12:57  @Zeph - Posté : 30-12-2009  M
Plutôt que de raconter absolument n'importe quoi à propos des pointeurs et de leur fonctionnement, je pense qu'il serait bien de limiter la pollution dans ce topic et d'attendre la réponse de gens susceptibles d'apporter des réponses utiles smile (genre ceux qui s'occupent de TIGCC ou GCC4TI)
avatarCake and grief counseling will be available at the conclusion of the test.
------------------------------------------
:: It offers what you want, not what you need
3l33t :: Relax, we understand j00 ^^
./39
16.06.2001 - 61140
12:58  squalyl - Posté : 30-12-2009  M
on raconte quelles conneries #trifus#
y'a pas besoin d'être spécialiste en compilation là, le code est correct point.
./40
13.06.2002 - 38225
13:02  @Zeph - Posté : 30-12-2009  M
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.
avatarCake and grief counseling will be available at the conclusion of the test.
------------------------------------------
:: It offers what you want, not what you need
3l33t :: Relax, we understand j00 ^^
./41
16.06.2001 - 61140
13:28  squalyl - Posté : 30-12-2009  M
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".
./42
11.06.2001 - 19131
14:38  PpHd - Posté : 30-12-2009  M
Ben déjà lorsque je charge, ce n'est pas un prog kernel:
#tromb# Fichier joint : SGg1 (screenshot000.png)

Si on enlève --remove-unused, ca marche, mais ca reste un prog nostub...
./43
10.06.2001 - 27735
14:50  Pen^2 - Posté : 30-12-2009  M
Zephyr =>
SCPCD (./30) :
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 "&".

Enfin si ça ne te dérange pas, on ne va pas insister, hein... (Il n'y a peut-être aucun rapport avec le problème d'origine, mais c'est un bug, stou)

./44
18.06.2001 - 26914
15:04  Folco - Posté : 30-12-2009  M
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.
avatar<<< Kernel Extremist©®™ >>> WIP : r9 - 2014-11-22

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./45
10.06.2001 - 27735
15:18  Pen^2 - Posté : 30-12-2009  M
Folco (./44) : Pen^2 -> j'ai essayé ça au pif, mais le code d'origine ne le comporte pas.

OK smile
./46
13.06.2002 - 38225
15:19  @Zeph - Posté : 30-12-2009  M
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).
avatarCake and grief counseling will be available at the conclusion of the test.
------------------------------------------
:: It offers what you want, not what you need
3l33t :: Relax, we understand j00 ^^
./47
10.06.2001 - 27735
15:28  Pen^2 - Posté : 30-12-2009  M
#guitare#
./48
18.06.2001 - 26914
16:17  Folco - Posté : 30-12-2009  M
Bon ok, ça marche. Bilan : il faut modifier kernel.h pour compiler avec l'IDE Win32 :
#define _main __main
#define main _main
#undef _main

(c'est de PpHd)

C'est pas évident, suivant qu'on utilise genlib et son gl_main ou pas, ou du kernel simple, faut bidouiller kernel.h. grin
avatar<<< Kernel Extremist©®™ >>> WIP : r9 - 2014-11-22

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./49
13.06.2002 - 38225
16:20  @Zeph - Posté : 30-12-2009  M
heu... et c'est la conséquence de quoi, cette corruption qui apparait quand tu déclares une variable globale ?
avatarCake and grief counseling will be available at the conclusion of the test.
------------------------------------------
:: It offers what you want, not what you need
3l33t :: Relax, we understand j00 ^^
./50
11.06.2001 - 19131
16:32  PpHd - Posté : 30-12-2009  M
Folco (./48) :
C'est pas évident, suivant qu'on utilise genlib et son gl_main ou pas, ou du kernel simple, faut bidouiller kernel.h. /v31/gfx/s/biggrin.gif


A mon avis, il doit y avoir une merde dans genlib.a (la librarie statique) qui fait que tigcc veut mettre du code de démarrage mais il ne peut pas et pouf le programme.
Faudrait que je regarde ca proprement un jour.

Zephyr (./49) :

heu... et c'est la conséquence de quoi, cette corruption qui apparait quand tu déclares une variable globale ?


tigcc devait vouloir insérer du code de gestion de BSS ou que sais-je. et pas possible, d'où pouf le programme.
./51
11.06.2001 - 19131
16:36  PpHd - Posté : 30-12-2009  M
Je pense que le patch suivant sur genlib devrait corriger les problèmes:

--- a/src/static/Makefile
+++ b/src/static/Makefile
@@ -46,10 +46,10 @@ clean:
$(CC) -q $(INCLUDES) $< -o $@

%.o: %.c Makefile
- $(CC) -DUSE_KERNEL $(CFLAGS) $(CPPFLAGS) $< -o $@
+ $(CC) -DUSE_KERNEL -D_GENERIC_ARCHIVE $(CFLAGS) $(CPPFLAGS) $< -o $@

%.no: %.c Makefile
- $(CC) $(CFLAGS) $(CPPFLAGS) $< -o $@
+ $(CC) -D_GENERIC_ARCHIVE $(CFLAGS) $(CPPFLAGS) $< -o $@

%.n.o: %.c Makefile
$(CC) $(CFLAGS) $(CPPFLAGS) $< -o $@

./52
18.06.2001 - 26914
19:27  Folco - Posté : 30-12-2009  M
Super, merci \o/
avatar<<< Kernel Extremist©®™ >>> WIP : r9 - 2014-11-22

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./53
28.10.2001 - 7498
20:03  Lionel Debroux - Posté : 30-12-2009  M
Quand une lib réclame certaines options du code de startup (parce qu'elle n'a pas été compilée avec _GENERIC_ARCHIVE) et le programme client en réclame d'autres, "pouf", en effet #oui#
ExtGraph a également eu le bug, il y a très longtemps, avant que Sebastian m'indique le fix simple.
avatarMembre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.
./54
18.06.2001 - 26914
20:37  Folco - Posté : 30-12-2009  M
Heu, le bug avec printf qui faisait pas ce que je voulais et qui affichait rien, c'était que l'IDE... euh... est trop conne pour mettre un extern qui était pourtant évident. #tripo#

Non ? #peur#


ok, ok #dehors#
avatar<<< Kernel Extremist©®™ >>> WIP : r9 - 2014-11-22

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./55
18.06.2001 - 26914
21:10  Folco - Posté : 30-12-2009  M
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
avatar<<< Kernel Extremist©®™ >>> WIP : r9 - 2014-11-22

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./56
11.06.2001 - 19131
21:42  PpHd - Posté : 30-12-2009  M
printf ("toto") marche...
./57
18.06.2001 - 26914
21:44  Folco - Posté : 30-12-2009  M
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.
avatar<<< Kernel Extremist©®™ >>> WIP : r9 - 2014-11-22

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./58
11.06.2001 - 19131
21:49  PpHd - Posté : 30-12-2009  M
#include "chaines.h"
contenant:
#define chaine1 "Toto is good"

et tu laisses l'option qui demande au linkeur de fusionner les constantes textuelles ?

./59
18.06.2001 - 26914
22:04  Folco - Posté : 30-12-2009  M
Oui. Et merci pour l'idée du header, c'est ça qu'il me faut. smile

edit -> ça cartonne ton truc ^^
avatar<<< Kernel Extremist©®™ >>> WIP : r9 - 2014-11-22

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./Publicité AdSense
 « Précédent - 2/3 - Suivant » :: Pages
 Index » Forum Ti 89, Titanium / 92+ / Voyage 200 et TI-Nspire » Prog C TI (74r) » Test case qui renvoie "Corrupted program"

./Poster un nouveau message. - Ouvrir dans une nouvelle fenêtre
Login : Mot de passe :

url - image - media  
spoiler - pre - fixed
quote - box - hr
poll - code





Smileys
Smileys perso
Pièce jointe
     Flood control (?) :    
Les messages postés sont la propriété de leurs auteurs. Nous ne sommes pas responsables de leurs contenus.

» yN ©1624 - Aide / Charte / Crédits
34ms | Statistiques