Rendre une machine plus "exigeante"

  • Auteur de la discussion Jul pa
  • Date de début

Jul pa

Habitué
C'est deja arrivé à tout le monde je pense : un programme marche quelque part et pas ailleur. Le problème vient pas de la distribution (voir OS) mais d'une erreur de programmation, cependant comment savoir qu'il y a une erreur si ca marche sur la machine avec laquelle on a codé ??

Est-ce qu'il y a un moyen (à par les options de compilation) de rendre son PC plus exigeant possible ? Ou alors y a des distributions plus exigeantes que d'autres ? :??:

Merci. :)
 

Le Veilleur

Expert
tu peux essayer de trouver un mainframe 3270 pour coder.

Nous on fait ca a l'ecole via "roscoe" sur mainframe, et c'est chaud, car tu as une mauvaise lisibilité, mais il ne laisser passer aucune erreur, aucune truc douteux ni rien.

Mais c'est pas facile de disposer d'une connexion sur mainframe :(

edit: je parlais pour du C ;) ou cobol aussi
 

mmoouuaa

Nouveau membre
[citation=2362,1][nom]Jul PA a écrit[/nom]

Est-ce qu'il y a un moyen (à par les options de compilation) de rendre son PC plus exigeant possible ? Ou alors y a des distributions plus exigeantes que d'autres ? :??:

Merci. :)
[/citation]
Tu peux jouer avec les parametres de limites (stack plus petite, moins de fd, ...)
On peux aussi imaginer une difference entre les noyaux (option dans le genre random stack et cie), voir des librairies partagees qui ne reagissent pas de la meme facon.
 

Jul pa

Habitué
Merci pour vos réponses.

Un copain m'a dit qu'une bonne solution, même si c'est pas exactement ce que j'attendais mais c'est déjà un pas, était de coder sur un PC assez peu puissant donc dès qu'on partait un peu en couille ca se voyait tout de suite.

Sinon c'est vrai que plusieurs lib c'est pas mal, parce que c'est possible que d'une debian à une mandrake (par exemple) certaines fonction ne réagssient pas tout à fait pareil (les malloc parait-it mettraient parfois ce qu'on vient d'allouer à 0 et sur d'autres distrib non).
 

Jul pa

Habitué
[citation=2392,1][nom]Kyle_Katarn a écrit[/nom]faut pas non plus confondre malloc et calloc... ;-)
[/citation]

Oui oui je sais, c'est d'ailleur ce que je lui ai dit mais il semblait sur de lui (j'ai pas encore testé).
 

mmoouuaa

Nouveau membre
[citation=2392,1][nom]Kyle_Katarn a écrit[/nom]faut pas non plus confondre malloc et calloc... ;-)
[/citation]
Selon les versions de noyaux les malloc sont mis a zero, ce qui est pratique mais peux gener lors d un portage.
 

++Taz

Expert
ben tu te lances soit dans un langage compilé hautement portable avec un compilateur non buggé (au comportement standard, vc++ va vite passer à la trappe) et une bibli standard (si tu n'utilises que les bibli std et que tu ne fais pas de pseudo optimisations (genre truc binaire sur les entiers, ça doit fonctionner pareil) ou bien tu te tourne vers un langage sur machine virtuelle (java, python, perl, etc)
 

Jul pa

Habitué
[citation=2419,1][nom]++Taz a écrit[/nom]ben tu te lances soit dans un langage compilé hautement portable avec un compilateur non buggé (au comportement standard, vc++ va vite passer à la trappe) et une bibli standard (si tu n'utilises que les bibli std et que tu ne fais pas de pseudo optimisations (genre truc binaire sur les entiers, ça doit fonctionner pareil) ou bien tu te tourne vers un langage sur machine virtuelle (java, python, perl, etc)
[/citation]

Ben le langage pour l'instant c'est pas moi qui décide, c'était pour mes projets que je posais la question (au passage c'est souvent du C avec gcc, et avec du binaire ;) ).
 

ut2003

Habitué
je sais aussi qu'il existe une librairie qui permet d'utiliser un malloc spécial qui alloue la memoire à partir de la fin des pages. Du coup dès que tu vas trop loin -> débordement->ça plante. pour l'utiliser, il suffit de definir une variable d'environnement (sais plus laquelle)
J'aimerai t'en dire + mais j'ai pas la doc ici , dslé :p
 

mmoouuaa

Nouveau membre
[citation=2422,1][nom]ut2003 a écrit[/nom]je sais aussi qu'il existe une librairie qui permet d'utiliser un malloc spécial qui alloue la memoire à partir de la fin des pages. Du coup dès que tu vas trop loin -> débordement->ça plante. pour l'utiliser, il suffit de definir une variable d'environnement (sais plus laquelle)
J'aimerai t'en dire + mais j'ai pas la doc ici , dslé :p
[/citation]
C est vrai j avaits oublie ca ...
il existe la lib vmalloc et efence.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 136
Messages
6 718 120
Membres
1 586 397
Dernier membre
Chachabidou
Partager cette page
Haut