Foros en Español > Documentación

[TOOL] Parámetros para Bgdc.exe

(1/14) > >>

izubiaurre:
Hola,

he necesitado de esta lista para compilar y ejecutar mi jueguecito en Bennu, y creo que será de utilidad para alguno. Son los parámetros que puede tomar el ejecutable:


--- Código: ---Use: bgdc [options] filename

   -d              Debugging mode
   -o ouputfile    Ouput DCB file
   -i dir          Adds the directory to the PATH
   -a              Automaticaly adds all files to the DCB
   -f file         Adds a single file to the DCB
   -l lang         Specify locale settings
   -s stub         Generate a stubbed executable from the given stub
   -g              Stores debugging information at the DCB
   -c              File uses the MS-DOS character set
   -D macro=text   Set a macro
   -p|--pedantic   Don't use automatic declare
   --libmode       Build a library
   -L library      Include a library
   -C options      Specify compiler options
                   Where options are:
                   a    Enable automatic declare functions

--- Fin del código ---


   Compiling multiple sources:

      Se pueden compilar múltiples fuentes desde la línea de comandos (como #include).

      Modo de uso:
         
--- Código: ---> bgdc prg1.prg prg2.prg
--- Fin del código ---


   Debugging mode ( -d):
   
      Modo debug. Permite ejecutar la consola para visualizar el estado de la ejecución (Ctrl + C):
         * estado de los procesos
         * visualizar/cambiar los valores de las variables, estructuras
         * ...
         
      Modo de uso:
         
--- Código: ---> bgdc.exe mi_programa.prg -d
--- Fin del código ---
   
   Adds the directory to the PATH    ( -i dir):
   
      Añade el directorio dir al PATH.
     
      Modo de uso:
         
--- Código: ---> bgdc.exe mi_programa.prg -i \DATA\
--- Fin del código ---
         
--- Código: ---> bgdc.exe mi_programa.prg -i \DATA\ -i \USR\SRC\BIN\ -i \DATA\STUB\
--- Fin del código ---

   Output DCB file (name) (-o outputfile) :

      Cambia el nombre de salida del dcb a outputfile. Sus extensiones pueden ser dcb, dat o bin.

      Modo de uso:
         
--- Código: ---> bgdc.exe mi_programa.prg -o juego.dcb
--- Fin del código ---
         
   Automaticaly adds all files to the DCB ( -a):
   
      Añade todos los archivos al DCB. Todos los archivos (wav, ogg, map, pal, fpg, ...) son añadidos automáticamente al DCB. Los archivos de librerías DLL no se añaden al DCB.

      Modo de uso:
         
--- Código: ---> bgdc.exe mi_programa.prg -a
--- Fin del código ---
   
   Adds a single file to the DCB ( -f file):
   
      Añade un archivo al DCB. También se pueden añadir varios archivos nombrándolas uno a uno:
     
      Modo de uso:
         
--- Código: ---> bgdc.exe mi_programa.prg -f menu.fpg
--- Fin del código ---
         
--- Código: ---> bgdc.exe mi_programa.prg -f menu.fpg
                           -f menu.ogg
                           -f menu.map
--- Fin del código ---

o, definirse a un archivo tipo listado en el que se enumeran todos los archivos a incluir. En este último caso, se definiría de la siguiente forma:
         

--- Código: ---> bgdc.exe mi_programa.prg -f @include_files.lst           <-- el archivo-lista debe llamarse include_files.lst
                           -f @sound_files.lst            <-- el archivo-lista debe llamarse sound_files.lstp
--- Fin del código ---
         
   Specify locale settings   ( -l lang):

      Obsoleto.
     
   Generate a stubbed executable from the given stub ( -s stub):
   
      Genera un ejecutable con el intérprete y el DCB integrado.
   
      Modo de uso:
         
--- Código: ---> bgdc.exe mi_programa.prg -s bgdi.exe
--- Fin del código ---

         
      No es necesario llamar al stub con path absoluto; si existe en el mismo directorio de trabajo que el compilador es suficiente.
     
      Nota: No se crea ningún dcb intermedio. Se crea directamente el ejecutable (.exe) con el stub y el dcb dentro.
         
   Stores debugging information at the DCB ( -g):

      Guarda información de debug en el DCB (no sé exáctamente qué es).
     
      Modo de uso:
         
--- Código: ---> bgdc.exe mi_programa.prg -g
--- Fin del código ---
         
   File uses the MS-DOS character set ( -c):
   
      Señala al copilador que nuestro código contiene carácteres de MS-DOS (ahora en desuso). Estos carácteres aparecen en ejemplos de DIV y DIV2 generalmente. Recordad que es una "c" en minúscula, mientras que en mayúscula significa opciones de compilación especiales.
     
      Modo de uso:
         
--- Código: ---> bgdc.exe mi_programa.prg -c
--- Fin del código ---
         
   Set a macro ( -D macro=text):
   
      Envía un macro al compilador. Un macro puede ser la definición de una constante, como DEBUG, ANCHO_PANTALLA=640 ALTO_PANTALLA=480 ó BUFFER=100.

         -D DEBUG : 

         
--- Código: ---> bgdc.exe -D DEBUG mi_programa.prg
--- Fin del código ---
         
--- Código: ---> bgdc.exe -D DEBUG -D BUFFER=100 -D MAX_NPC=1000 mi_programa.prg
--- Fin del código ---
           
      y luego en tu codigo poner:
           

--- Código: ---#ifdef DEBUG
...
#endif
--- Fin del código ---

      Con esto se puede usar código que solo se ejecute en modo debug cuando lo compilas en modo debug. Lo mismo en FULL y RELEASE ( -D FULL, -D RELEASE). Sería como un #define, pero al no estar en el código, permite flexibilidad para compilar diferentes versiones sin tener que tocar el código.
           
      Lo mismo para el macro:

      -D BUFFER=100      

      donde en el código se podría poner:
     
     
--- Código: ---array[BUFFER] = "Última posición en el array";   
--- Fin del código ---
   
 
   Build a library ( --libmode):

      La salida del compilador será una librería hecha en Bennu, pero en formato dbl (en vez de dcb).

      Modo de uso:
         
--- Código: ---> bgdc.exe --libmode mi_programa.prg
--- Fin del código ---

   Include a library ( -L library):-L library     

      Incluye específicamente una librería de Bennu (dbl).

      Modo de uso:
         
--- Código: ---> bgdc.exe -L nombre_librearía.dbl mi_programa.prg
--- Fin del código ---
         
--- Código: ---> bgdc.exe -L nombre_librearía.dbl -L lib2.dbl -L lib3.dbl mi_programa.prg
--- Fin del código ---

     
   Specify compiler options ( -C options):
                   
      a    Enable automatic declare functions:
     
         Permite la declaración de funciones automáticamente. Muy útil cuando no queramos declarar las funciones, pero tiene sus contraindicaciones, posibles bugs y descenso de efectividad en tiempo de ejecución. Utiliza como parámetro una "c" en mayúscula y los parámetros siguientes pueden ir juntos o aparte.
     
      Modo de uso:
         
--- Código: ---> bgdc.exe mi_programa.prg -C a
> bgdc.exe mi_programa.prg -Ca

--- Fin del código ---
   

Ahora mismo es necesario compilar como bgdc.exe -C a   si no tienes definidos las funciones...

Y la definición de las funciones serían de esta manera:


--- Código: ---Declare menu(); end
Declare nave_enemigo(x,y); end
Declare prota(x,y, vida, nivel); end

--- Fin del código ---

Un Declare por cada. Si no, se puede ordenar las funciones (cuando digo funciones digo también procesos) según el uso; tener escrito en nuestro código antes de su llamada.

syous:
 :D muy util gracias

izubiaurre:
No está totalmente completa. Si conocéis qué hace álguno de los parámetros que no conozco o simplemente, pensáis que necesita una descripción mejor, responded en este hilo e iré mejorándolo.

SplinterGU:
Las macros son constantes que puedes definir desde linea de comando, y sirven para muchas cosas, por ejemplo, habilitar o deshabilitar partes de tu codigo, o seleccionar funcionalidades diferentes en tu proyecto (por ejemplo, generar un proyecto en modo demo o modo release), o por ejemplo, poder definir constantes que te serviran luego en tu codigo, por ejemplo, ANCHO_PANTALLA=800 y luego si usas en tu codigo ANCHO_PANTALLA es lo mismo que poner 800, son como defines, pero no puedes usar la sintaxis de parametros de los defines...

Los parametros por ejemplo el -C no es necesario poner un espacio para poner la subopcion, se puede usar directamente -Ca

-l es el archivo de lenguaje de los mensajes, algo asi como el gettext (no lo he probado, pero supuestamente funciona)

izubiaurre:
Un duda:

si quiero insertar el ejecutable bgdi.exe como stub con el parámetro -d ( bgdc.exe -s bgdi.exe ... ), el archivo stub debe ir con el path completo? Como lo lleva el bgdc.exe?

Creo que sí... ya que al ejecutarlo como si fuese un archivo local (sin path completo), la compilación no me da errores, pero no se ejecuta.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa