Vous n'êtes pas identifié.
Suite à des problèmes évoqués dans d'autres sujets, j'ai commencé différents tests de compilation sur mon programme, un projet C++ constutués de plusieurs .CPP ayant chacun un .H associé et contenat des classes dont certaines dérivent les unes des autres (ancêtre-mère-fille) et je me rends compte que ca déconne complètement si je change les valeurs "par défaut" de OPTIONS/COMPILER/C++ OPTIONS
C++ Virtual Tables --> External
Options --> Out-of-line inline funcions ACTIVE
Far virtual tables ACTIVE
Le programme (que je teste avec l'émulateur) ne fonctionne correctement que si les options sont exactement celles-ci, alors que je pensais que ca n'vait pas vraiment d'importance et ne concenait que des réglages pour le déboggage, que je n'utilise pas.
Quelles options avez-vous sur votre TC3.0 ? En ce moment je n'y comprends plus rien...
Hors ligne
Pär exemple, si je désactive le Out-of-line inline functions dans les options de compilation, quand je fais un pokeb(0x1A20,...,...) dans la mémoire vidéo de la casio ca ne s'affiche pas au bon endroit mais avec un décalage... (de 32 octets il me semble)
Hors ligne
Y'a plus grand monde qui travaille encore avec TC3 pour éditer les progs et les compiler: en général on utilise un autre édteur, et on compile directement avec le compilateur de turboC (TCC.exe) avec une ligne de commande.
Les parametres utilisés pour ca sont:
C:...TCC.exe -1 -y -r -G -O -l -mt -I(ton dossier include) -L(ton dossier lib) -n(ton dossier de sortie)
auxquels tu dois rajouter les noms des fichiers à compiler.
Je ne peux pas te dire exactement ce qu'on laisse comme options dans tc3, vu qu'elles ne servent plus... :?
En tout cas avec ces parametres-là, la compilation du c++ (même si tu as des classes avec héritage etc) se fait correctement, et les progs tournent comme il faut.
Hors ligne
Au fait au cas ou tu utiliserais Visual C++, tu peux compiler directement à partir de là; regarde le tuto de krach pour savoir comment le configurer
http://membres.lycos.fr/krachtest12/tcvc.html
Hors ligne
bon, ce que tu fait, tu prend Digital Mars, tu sera dans la légalité, de plus le compilo est plus récent, le seul désavantage étant qu' il produit des 6ko au lieu de 4ko au niveau des exe qui n' ont aucun effet.
Hors ligne
bon, ce que tu fait, tu prend Digital Mars, tu sera dans la légalité, de plus le compilo est plus récent, le seul désavantage étant qu' il produit des 6ko au lieu de 4ko au niveau des exe qui n' ont aucun effet.
Hey c bien beau de lui balancer des "prends digital mars" a tour de bras, mais c pas dit que le probleme sera réglé... si ca tombe c un probleme d'overflow dans son prog comme l'a suggéré 2072
Hors ligne
les problèmes d'overflow c'est quoi au juste ?
Hors ligne
en gros:
char x[3];
...
char i;
for(i= 0; i < 10; i++)
{
x[i]= 0;
}
Mais bon c' est surtout avec les pointeurs que ça arrive.
Hors ligne
D'accord je vois le genre d'erreurs dont tu parles... Malheureusement j'ai peur d'avoir de plus gros soucis car avec l'option désactivée dont je parlais precedemment je n'arrive pas à lire l'adresse de la mémoire video à l'adresse BIOS 0x0040,0x00E0. Avec l'option activee ca marche et me retourne le bon mot, avec l'option desactivee ca me retourne 0... et je fais ce test au tout début du programme, donc me semble-t-il avant de possibles problèmes d'overflow, même si on ne peut jamais jurer de rien..
Je vais essayer de compiler avec Visual C++ 1.5. Je viens de l'installer. Peut-on travailler dans l'environnement Windows sans problèmes ?
J'essaye de recompiler mais je dois transformer mes appels peekb qui n'existent apparemment pas avec Visual C++.
Hors ligne
Un overflow provoque des bugs incompréhensibles (vu que tu écrits n'importe où dans la mémoire), donc suivant comment tu compiles tu n'auras pas les mêmes conséquences, ça dépend de l'organisation du programme.
Hors ligne
sauf si il est voulu ... mais je supose que non...
Hors ligne
Pour rester dans le délire, je viens d'installer Visual C++ 1.5 et je fais des essais très simples... le printf ne donne pas de résultats corrects avec l'émulateur, par contre affiche normalement sur la g100+.
Hors ligne