Question logique. [Exit Status][Success/Failure] - Divers - Programmation
Marsh Posté le 11-11-2011 à 20:01:14
Citation : Qu'en est-il des autres langages ? Pourquoi cette différence ? |
La convention Exit Succes à 0 en C/Unix permet en cas d'échec de retourner une valeur variable en fonction de l'erreur (ie un code d'erreur)
Dans la pratique, il y a d'autres méthodes pour faire cela comme errno.
A+,
Marsh Posté le 11-11-2011 à 20:38:04
Bonsoir gilou, je regarde avec attention le document suivant et je reviens.
Exit Status, surWikipedia.
Marsh Posté le 11-11-2011 à 20:48:49
Merci Gilou.
Je voudrais savoir si il y a moyen de passer plus long qu'un mot machine ? genre 700bits ?
Marsh Posté le 11-11-2011 à 21:14:16
Mais ce texte aura été alloué par quel programme?
Parce que si c'est celui en cours de sortie, euh...
>> Je voudrais savoir si il y a moyen de passer plus long qu'un mot machine ? genre 700bits ?
C'est pas prévu pour. Pourquoi ne vas tu pas mettre tout ça dans un fichier?
A+,
Marsh Posté le 11-11-2011 à 23:03:24
gilou a écrit : Mais ce texte aura été alloué par quel programme? |
je ne suis pas un programme hors fonction.
gilou a écrit : |
Oui, ça fait pas le même programme mais oui, dans le cas où il faudrait faire comme ça, je le ferais.
Marsh Posté le 11-11-2011 à 23:13:34
Dans un programme de sauvegarde, s'il termine avec succès on continu. Si non, on rappelle sauvegarde.
la logique voudrait que dans un programme qui termine avec succès on s'arrête, Si non on rappelle le programme.
Marsh Posté le 11-11-2011 à 23:21:14
Ca c'est vrai dans la matrice , c'est à dire si le programme est solution.
Marsh Posté le 12-11-2011 à 00:10:10
Euh, pourquoi le faire quitter alors, si on n'a pas le succès espéré?
A+,
Marsh Posté le 12-11-2011 à 00:32:57
gilou a écrit : |
J'ai dit le contraire ? Non, je crois pas.
Marsh Posté le 12-11-2011 à 11:58:18
Donc c'est au niveau du programme qu'on implémente cette logique, et non pas au niveau de ce qui l'appelle.
A+,
Marsh Posté le 12-11-2011 à 14:04:11
gilou a écrit : Donc c'est au niveau du programme qu'on implémente cette logique, et non pas au niveau de ce qui l'appelle. |
Si si, des deux côté.
Si le programme termine avec succès on termine l'environnement.
Si non on rappelle le programme (ou plutôt un autre).
Marsh Posté le 12-11-2011 à 16:42:16
>> Si non on rappelle le programme (ou plutôt un autre).
Donc c'est a ton on appelant de faire le boulot en amont pour communiquer avec le programme appelé(fichier temporaire, shared memory, pipe ou autre).
Et a ton programme appelé d'utiliser ce qui lui est fourni pour communiquer ce qu'il a a dire.
A+,
Marsh Posté le 12-11-2011 à 17:33:39
Ok pour le passage de donnée. Merci Gilou.
Sur les valeur de retour...
Par exemple. Pour un programme C retournant 0 pour Success, 1 pour Failure.
Code :
|
(mon appel avec system() est mal choisi, j'espère rester compréhenssible.
Mon désaccord porte sur la correspondance entre les status de sortie et les boolean.
Marsh Posté le 12-11-2011 à 17:45:32
Ben non: quand errno est a 0, il y a 0 erreur
A+,
Marsh Posté le 12-11-2011 à 17:54:08
gilou a écrit : Ben non: quand errno est a 0, il y a 0 erreur |
Ben oui, et ça me perturbe.
Je voudrais avoir 1 pour success.
Marsh Posté le 18-11-2011 à 17:04:49
Ca existe.... une fonction retournent un entier si succès et zéro si non.
Marsh Posté le 11-11-2011 à 19:32:45
Bonjour,
Avec Ada, pourquoi Exit_Status vaudrait 0 (zero) soit False logiquement parlant pour un programme sortant avec Success et vaudrait 1 (un) soit True logiquement parlant pour un programme sortant avec Failure alors que False vaut 0 et True vaut 1 ?
Qu'en est-il des autres langages ? Pourquoi cette différence ?
Quels sont les besoins de représentation de cette donnée ?
Merci de votre participation.
Message édité par Profil supprimé le 11-11-2011 à 19:33:57