Autor Tema: ¿Por qué pxtb no devuelve lo mismo que bgdc?  (Leído 1333 veces)

DCelso

  • Hero Member
  • *****
  • Mensajes: 3708
  • Karma: 181
¿Por qué pxtb no devuelve lo mismo que bgdc?
« en: Noviembre 15, 2016, 05:54:19 pm »
Simple curiosidad

bgdc cuando falla y no compila devuelve 2, y pxtb también

en cambio cuando no falla y compila

bgdc devuelve 1 y pxtb 0

¿Algún motivo para cambiarlo?
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

panreyes

  • Administrator
  • *****
  • Mensajes: 2235
  • Karma: 81
    • panreyes.com
Re:¿Por qué pxtb no devuelve lo mismo que bgdc?
« Respuesta #1 en: Noviembre 15, 2016, 06:04:10 pm »
Corresponde al infierno mental que supone que en programación Verdadero es 1, Falso es 0, pero cuando haces un programa el "error de salida" 0 es una salida correcta y la incorrecta >0.

Pónselo a Joseba en el BitBucket y lo corregirá en el momento.

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12894
  • Karma: 377
Re:¿Por qué pxtb no devuelve lo mismo que bgdc?
« Respuesta #2 en: Noviembre 15, 2016, 09:06:06 pm »
no se... creo que es correcto que devuelva 0 si todo salio bien...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

panreyes

  • Administrator
  • *****
  • Mensajes: 2235
  • Karma: 81
    • panreyes.com
Re:¿Por qué pxtb no devuelve lo mismo que bgdc?
« Respuesta #3 en: Noviembre 15, 2016, 09:15:57 pm »
no se... creo que es correcto que devuelva 0 si todo salio bien...
Cierto, porque es la salida de un programa. ¿Pero y si fuera la salida de una función?
En ese caso debería retornar 1, o true.
 
He ahí el lío mental... (sino me equivoco)

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12894
  • Karma: 377
Re:¿Por qué pxtb no devuelve lo mismo que bgdc?
« Respuesta #4 en: Noviembre 15, 2016, 09:20:14 pm »
no se... creo que es correcto que devuelva 0 si todo salio bien...
Cierto, porque es la salida de un programa. ¿Pero y si fuera la salida de una función?
En ese caso debería retornar 1, o true.
 
He ahí el lío mental... (sino me equivoco)

salida de funcion depende de la funcion y de lo que busque el usuario...

salida de programa, en general 0 es todo ok, otros valores representa error o advertencia de algo...

en todo caso, habria que corregir bennugd... me parece...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

gecko

  • Hero Member
  • *****
  • Mensajes: 809
  • Karma: 47
    • Torres Baldi Studio
Re:¿Por qué pxtb no devuelve lo mismo que bgdc?
« Respuesta #5 en: Noviembre 18, 2016, 04:49:57 pm »
Por esto mismo es que si yo ejecuto

Código: [Seleccionar]
bgdc main.prg && bgdi main.dcb
el segundo comando nunca se llega a ejecutar, porque toma la salida del primero como errónea, cierto? (aunque haya compilado correctamente)
Torres Baldi Studio
http://torresbaldi.com

josebita

  • Administrator
  • *****
  • Mensajes: 4039
  • Karma: 257
    • BennuGD Mobile Worklog
Re:¿Por qué pxtb no devuelve lo mismo que bgdc?
« Respuesta #6 en: Noviembre 20, 2016, 07:22:20 pm »
Cambié los valores de retorno de pxtb para poder hacer justo lo que dice gecko (de acuerdo con los valores de retorno normales en Unix/Linux).

Con PixTudio se puede hacer:
Código: [Seleccionar]
pxtb main.prg && pxtp main.dcb y se comporta como uno esperaría.

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12894
  • Karma: 377
Re:¿Por qué pxtb no devuelve lo mismo que bgdc?
« Respuesta #7 en: Noviembre 20, 2016, 11:03:30 pm »
mmm... es cierto, entonces 1 es ok...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

  • Administrator
  • *****
  • Mensajes: 4039
  • Karma: 257
    • BennuGD Mobile Worklog
Re:¿Por qué pxtb no devuelve lo mismo que bgdc?
« Respuesta #8 en: Noviembre 21, 2016, 09:53:48 am »
mmm... es cierto, entonces 1 es ok...
Según la documentación, EXIT_SUCCESS es 0 en sistemas POSIX. De forma que si el proceso de compilado funciona bien, debería devolver 0.

DCelso

  • Hero Member
  • *****
  • Mensajes: 3708
  • Karma: 181
Re:¿Por qué pxtb no devuelve lo mismo que bgdc?
« Respuesta #9 en: Noviembre 21, 2016, 06:10:46 pm »
yo lo arreglo tal que así
Código: [Seleccionar]
set GAME_NAME=bbardero
bgdc.exe %GAME_NAME%.prg -o %GAME_NAME%.dcb
IF %ERRORLEVEL% EQU 1 bgdi %GAME_NAME%
pause
Y santas pascuas, pa pixtudio habria que poner un 0.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/