Je travaille sous HP-UX et j'ai un soucis ave le code retour de mon
programme C : ma fonction main est déclarée en "int main(...)" et pourtant
je ne peux retourner que des valeurs positives entre 0 et 255. En tout cas
c'est ce que me dit le script quand j'affiche à l'intérieur de celui-ci le
code retour de mon programme.
Le programme ne plantant pas sur un code retour négatif, le pb vient
peut-être de mon script ? Dans le script j'intercepte le code retour via la
variable $?.
Où est mon erreur ?
Merci de votre aide,
Sébastien B.
Tout le monde n'a pas besoin de lire la documentation des appels système UNIX pour faire du C...
Regarde par exemple le man de wait, et tu verras des macros comme ...
Éric Lévénez
Le 31/07/03 13:40, dans , « Anh Tu NGUYEN TRONG » a écrit :
Tu n'as pas lu la doc.
Tout le monde n'a pas besoin de lire la documentation des appels système UNIX pour faire du C...
Pour faire du C, il faut connaître le C, et là on apprend que exit ne peut avoir que 3 valeurs : 0, EXIT_SUCCESS et EXIT_FAILURE. Pour passer autre chose en argument, on ne fait plus du C standard, mais du C spécifique à une plateforme. Étant posté dans un NG unix, une réponse unix s'impose.
PS : apprend à quoter correctement, tes réponses deviendrons lisibles.
-- Éric Lévénez -- <http://www.levenez.com> Unix is not only an OS, it's a way of life.
Le 31/07/03 13:40, dans <d057eb21.0307310340.28de0c57@posting.google.com>,
« Anh Tu NGUYEN TRONG » <proj_tools@yahoo.fr> a écrit :
Tu n'as pas lu la doc.
Tout le monde n'a pas besoin de lire la documentation des appels
système UNIX pour faire du C...
Pour faire du C, il faut connaître le C, et là on apprend que exit ne peut
avoir que 3 valeurs : 0, EXIT_SUCCESS et EXIT_FAILURE. Pour passer autre
chose en argument, on ne fait plus du C standard, mais du C spécifique à une
plateforme. Étant posté dans un NG unix, une réponse unix s'impose.
PS : apprend à quoter correctement, tes réponses deviendrons lisibles.
--
Éric Lévénez -- <http://www.levenez.com>
Unix is not only an OS, it's a way of life.
Le 31/07/03 13:40, dans , « Anh Tu NGUYEN TRONG » a écrit :
Tu n'as pas lu la doc.
Tout le monde n'a pas besoin de lire la documentation des appels système UNIX pour faire du C...
Pour faire du C, il faut connaître le C, et là on apprend que exit ne peut avoir que 3 valeurs : 0, EXIT_SUCCESS et EXIT_FAILURE. Pour passer autre chose en argument, on ne fait plus du C standard, mais du C spécifique à une plateforme. Étant posté dans un NG unix, une réponse unix s'impose.
PS : apprend à quoter correctement, tes réponses deviendrons lisibles.
-- Éric Lévénez -- <http://www.levenez.com> Unix is not only an OS, it's a way of life.
DINH Viêt Hoà
Pour faire du C, il faut connaître le C, et là on apprend que exit ne peut avoir que 3 valeurs : 0, EXIT_SUCCESS et EXIT_FAILURE. Pour passer autre chose en argument, on ne fait plus du C standard, mais du C spécifique à une plateforme. Étant posté dans un NG unix, une réponse unix s'impose.
tiré du draft de la norme C99 : << [#5] Finally, control is returned to the host environment. If the value of status is zero or EXIT_SUCCESS, an implementation-defined form of the status successful termination is returned. If the value of status is EXIT_FAILURE, an implementation-defined form of the status unsuccessful termination is returned. Otherwise the status returned is implementation-defined.
Bref, le résultat dépend de l'environnement dès qu'on commence à jouer avec d'autres valeur. La démarche correcte serait donc de se renseigner sur les valeurs utilisables dans l'environnement en question.
-- DINH V. Hoa,
"Il faut savoir arrêter l'alcool de temps en temps" -- MAB
Pour faire du C, il faut connaître le C, et là on apprend que exit ne peut
avoir que 3 valeurs : 0, EXIT_SUCCESS et EXIT_FAILURE. Pour passer autre
chose en argument, on ne fait plus du C standard, mais du C spécifique à une
plateforme. Étant posté dans un NG unix, une réponse unix s'impose.
tiré du draft de la norme C99 :
<<
[#5] Finally, control is returned to the host environment.
If the value of status is zero or EXIT_SUCCESS, an
implementation-defined form of the status successful
termination is returned. If the value of status is
EXIT_FAILURE, an implementation-defined form of the status
unsuccessful termination is returned. Otherwise the status
returned is implementation-defined.
Bref, le résultat dépend de l'environnement dès qu'on commence à jouer
avec d'autres valeur. La démarche correcte serait donc de se renseigner
sur les valeurs utilisables dans l'environnement en question.
--
DINH V. Hoa,
"Il faut savoir arrêter l'alcool de temps en temps" -- MAB
Pour faire du C, il faut connaître le C, et là on apprend que exit ne peut avoir que 3 valeurs : 0, EXIT_SUCCESS et EXIT_FAILURE. Pour passer autre chose en argument, on ne fait plus du C standard, mais du C spécifique à une plateforme. Étant posté dans un NG unix, une réponse unix s'impose.
tiré du draft de la norme C99 : << [#5] Finally, control is returned to the host environment. If the value of status is zero or EXIT_SUCCESS, an implementation-defined form of the status successful termination is returned. If the value of status is EXIT_FAILURE, an implementation-defined form of the status unsuccessful termination is returned. Otherwise the status returned is implementation-defined.
Bref, le résultat dépend de l'environnement dès qu'on commence à jouer avec d'autres valeur. La démarche correcte serait donc de se renseigner sur les valeurs utilisables dans l'environnement en question.
-- DINH V. Hoa,
"Il faut savoir arrêter l'alcool de temps en temps" -- MAB
Éric Lévénez
Le 31/07/03 19:24, dans , « DINH Viêt Hoà » a écrit :
Pour faire du C, il faut connaître le C, et là on apprend que exit ne peut avoir que 3 valeurs : 0, EXIT_SUCCESS et EXIT_FAILURE. Pour passer autre chose en argument, on ne fait plus du C standard, mais du C spécifique à une plateforme. Étant posté dans un NG unix, une réponse unix s'impose.
tiré du draft de la norme C99 : << [#5] Finally, control is returned to the host environment. If the value of status is zero or EXIT_SUCCESS, an implementation-defined form of the status successful termination is returned. If the value of status is EXIT_FAILURE, an implementation-defined form of the status unsuccessful termination is returned. Otherwise the status returned is implementation-defined.
Bref, le résultat dépend de l'environnement dès qu'on commence à jouer avec d'autres valeur. La démarche correcte serait donc de se renseigner sur les valeurs utilisables dans l'environnement en question.
Tu crois que tu as dit autre chose que ce que j'ai dit dans ce message et dans le précédant ? Tu penses que quoter le draft en anglais dans un NG français est une bonne chose ?
-- Éric Lévénez -- <http://www.levenez.com> Unix is not only an OS, it's a way of life.
Le 31/07/03 19:24, dans <etPan.3f2950cf.2bf6a81a.4afc@homer>, « DINH Viêt
Hoà » <dinh.viet.hoa@free.fr> a écrit :
Pour faire du C, il faut connaître le C, et là on apprend que exit ne peut
avoir que 3 valeurs : 0, EXIT_SUCCESS et EXIT_FAILURE. Pour passer autre
chose en argument, on ne fait plus du C standard, mais du C spécifique à une
plateforme. Étant posté dans un NG unix, une réponse unix s'impose.
tiré du draft de la norme C99 :
<<
[#5] Finally, control is returned to the host environment.
If the value of status is zero or EXIT_SUCCESS, an
implementation-defined form of the status successful
termination is returned. If the value of status is
EXIT_FAILURE, an implementation-defined form of the status
unsuccessful termination is returned. Otherwise the status
returned is implementation-defined.
Bref, le résultat dépend de l'environnement dès qu'on commence à jouer
avec d'autres valeur. La démarche correcte serait donc de se renseigner
sur les valeurs utilisables dans l'environnement en question.
Tu crois que tu as dit autre chose que ce que j'ai dit dans ce message et
dans le précédant ? Tu penses que quoter le draft en anglais dans un NG
français est une bonne chose ?
--
Éric Lévénez -- <http://www.levenez.com>
Unix is not only an OS, it's a way of life.
Le 31/07/03 19:24, dans , « DINH Viêt Hoà » a écrit :
Pour faire du C, il faut connaître le C, et là on apprend que exit ne peut avoir que 3 valeurs : 0, EXIT_SUCCESS et EXIT_FAILURE. Pour passer autre chose en argument, on ne fait plus du C standard, mais du C spécifique à une plateforme. Étant posté dans un NG unix, une réponse unix s'impose.
tiré du draft de la norme C99 : << [#5] Finally, control is returned to the host environment. If the value of status is zero or EXIT_SUCCESS, an implementation-defined form of the status successful termination is returned. If the value of status is EXIT_FAILURE, an implementation-defined form of the status unsuccessful termination is returned. Otherwise the status returned is implementation-defined.
Bref, le résultat dépend de l'environnement dès qu'on commence à jouer avec d'autres valeur. La démarche correcte serait donc de se renseigner sur les valeurs utilisables dans l'environnement en question.
Tu crois que tu as dit autre chose que ce que j'ai dit dans ce message et dans le précédant ? Tu penses que quoter le draft en anglais dans un NG français est une bonne chose ?
-- Éric Lévénez -- <http://www.levenez.com> Unix is not only an OS, it's a way of life.
Laurent Wacrenier
Éric Lévénez écrit:
Tu crois que tu as dit autre chose que ce que j'ai dit dans ce message et dans le précédant ? Tu penses que quoter le draft en anglais dans un NG français est une bonne chose ?
exit peut prendre d'autres valeurs que 0, EXIT_SUCCESS ou EXIT_FAILURE. Par contre, avec ces valeurs, la norme ne dit pas comment le système doit prendre en compte le retour.
Éric Lévénez <eric@levenez.com> écrit:
Tu crois que tu as dit autre chose que ce que j'ai dit dans ce message et
dans le précédant ? Tu penses que quoter le draft en anglais dans un NG
français est une bonne chose ?
exit peut prendre d'autres valeurs que 0, EXIT_SUCCESS ou
EXIT_FAILURE. Par contre, avec ces valeurs, la norme ne dit pas
comment le système doit prendre en compte le retour.
Tu crois que tu as dit autre chose que ce que j'ai dit dans ce message et dans le précédant ? Tu penses que quoter le draft en anglais dans un NG français est une bonne chose ?
exit peut prendre d'autres valeurs que 0, EXIT_SUCCESS ou EXIT_FAILURE. Par contre, avec ces valeurs, la norme ne dit pas comment le système doit prendre en compte le retour.
Eric Jacoboni
Éric Lévénez writes:
Pour faire du C, il faut connaître le C, et là on apprend que exit ne peut avoir que 3 valeurs : 0, EXIT_SUCCESS et EXIT_FAILURE.
Je croyais que, justement, EXIT_SUCCESS et EXIT_FAILURE étaient là pour éviter de supposer qu'il fallait renvoyer 0 pour indiquer une exécution réussie ? Quel intérêt du 0, alors ?
-- Éric Jacoboni, né il y a 1363133517 secondes
Éric Lévénez <eric@levenez.com> writes:
Pour faire du C, il faut connaître le C, et là on apprend que exit ne peut
avoir que 3 valeurs : 0, EXIT_SUCCESS et EXIT_FAILURE.
Je croyais que, justement, EXIT_SUCCESS et EXIT_FAILURE étaient là
pour éviter de supposer qu'il fallait renvoyer 0 pour indiquer une
exécution réussie ? Quel intérêt du 0, alors ?
Pour faire du C, il faut connaître le C, et là on apprend que exit ne peut avoir que 3 valeurs : 0, EXIT_SUCCESS et EXIT_FAILURE.
Je croyais que, justement, EXIT_SUCCESS et EXIT_FAILURE étaient là pour éviter de supposer qu'il fallait renvoyer 0 pour indiquer une exécution réussie ? Quel intérêt du 0, alors ?
-- Éric Jacoboni, né il y a 1363133517 secondes
DINH Viêt Hoà
Euh moi j'utilise return pour terminer ma fonction main, c pas bon ? Je dois plutôt utiliser exit ?
il vaut mieux utiliser exit.
-- DINH V. Hoa,
"Il faut savoir arrêter l'alcool de temps en temps" -- MAB
Euh moi j'utilise return pour terminer ma fonction main, c pas bon ? Je dois
plutôt utiliser exit ?
il vaut mieux utiliser exit.
--
DINH V. Hoa,
"Il faut savoir arrêter l'alcool de temps en temps" -- MAB
Euh moi j'utilise return pour terminer ma fonction main, c pas bon ? Je dois plutôt utiliser exit ?
il vaut mieux utiliser exit.
-- DINH V. Hoa,
"Il faut savoir arrêter l'alcool de temps en temps" -- MAB
Eric Jacoboni
Erwan David writes:
Aucun, 0 et EXIT_SUCCESS ont le même effet.
Merci de confirmer... ils ont le même effet actuellement et sur la plupart des plateformes, mais rien ne dit que ça va durer : donc renvoyer 0 directement, c'est mal. -- Éric Jacoboni, né il y a 1363173500 secondes
Erwan David <erwan@rail.eu.org> writes:
Aucun, 0 et EXIT_SUCCESS ont le même effet.
Merci de confirmer... ils ont le même effet actuellement et sur la
plupart des plateformes, mais rien ne dit que ça va durer : donc
renvoyer 0 directement, c'est mal.
--
Éric Jacoboni, né il y a 1363173500 secondes
Merci de confirmer... ils ont le même effet actuellement et sur la plupart des plateformes, mais rien ne dit que ça va durer : donc renvoyer 0 directement, c'est mal. -- Éric Jacoboni, né il y a 1363173500 secondes
Jean-Marc Bourguet
Eric Jacoboni writes:
Erwan David writes:
Aucun, 0 et EXIT_SUCCESS ont le même effet.
Merci de confirmer... ils ont le même effet actuellement et sur la plupart des plateformes, mais rien ne dit que ça va durer :
Si la norme.
A+
-- Jean-Marc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Eric Jacoboni <jaco@teaser.fr> writes:
Erwan David <erwan@rail.eu.org> writes:
Aucun, 0 et EXIT_SUCCESS ont le même effet.
Merci de confirmer... ils ont le même effet actuellement et sur la
plupart des plateformes, mais rien ne dit que ça va durer :
Si la norme.
A+
--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Merci de confirmer... ils ont le même effet actuellement et sur la plupart des plateformes, mais rien ne dit que ça va durer :
Si la norme.
A+
-- Jean-Marc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Erwan David
Eric Jacoboni écrivait :
Erwan David writes:
Aucun, 0 et EXIT_SUCCESS ont le même effet.
Merci de confirmer... ils ont le même effet actuellement et sur la plupart des plateformes, mais rien ne dit que ça va durer : donc renvoyer 0 directement, c'est mal.
La norme dit que ça doit faire la même chose. Maintenant si la norme change de manière incompatible elle peut tout aussi bien virer le exit
-- Monde de merde
Eric Jacoboni <jaco@teaser.fr> écrivait :
Erwan David <erwan@rail.eu.org> writes:
Aucun, 0 et EXIT_SUCCESS ont le même effet.
Merci de confirmer... ils ont le même effet actuellement et sur la
plupart des plateformes, mais rien ne dit que ça va durer : donc
renvoyer 0 directement, c'est mal.
La norme dit que ça doit faire la même chose. Maintenant si la norme
change de manière incompatible elle peut tout aussi bien virer le exit
Merci de confirmer... ils ont le même effet actuellement et sur la plupart des plateformes, mais rien ne dit que ça va durer : donc renvoyer 0 directement, c'est mal.
La norme dit que ça doit faire la même chose. Maintenant si la norme change de manière incompatible elle peut tout aussi bien virer le exit