• Domingo 22 de Diciembre de 2024, 13:08

Autor Tema:  Paso De Parametros A Programas  (Leído 1844 veces)

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Paso De Parametros A Programas
« en: Viernes 20 de Enero de 2006, 08:55 »
0
no soy de programar mucho en ensamblador ( ahora si pero antes no ), como el sistema de archivos esta casi terminado, ahora que tengo que crear programas para que interactuen con el sistema de archivos me viene el problema de como pasarle los parametros al programa.

por ejemplo
rm archivo

separo el string, llamo a rm y como le paso el argumento "archivo" y el numero de argumentos ( seria como argc y ** argv ) al programa? por la pila? con una direccion de memoria? no seria eso peligroso?.

gracias...

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Paso De Parametros A Programas
« Respuesta #1 en: Viernes 20 de Enero de 2006, 10:07 »
0
Windows obtiene un puntero desde una direccion especifica (GetCommandLineA/W). Podrias hacer una estructura de proceso (fija) en la que uno de los campos sea un puntero al command line.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Paso De Parametros A Programas
« Respuesta #2 en: Viernes 20 de Enero de 2006, 19:26 »
0
la estructura de proceso iria en el espacio de memoria del kernel? o del programa?
si esta en el espacio de memoria del kernel no seria medio peligroso?

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Paso De Parametros A Programas
« Respuesta #3 en: Viernes 20 de Enero de 2006, 20:43 »
0
¿No es el S.O. de modo real (16 bits)?

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Paso De Parametros A Programas
« Respuesta #4 en: Sábado 21 de Enero de 2006, 03:28 »
0
si por?

ya se que el hecho de que sea en 16 bits lo hace un desastre pero dentro del desastre quiero hacer las cosas bien

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Paso De Parametros A Programas
« Respuesta #5 en: Sábado 21 de Enero de 2006, 09:51 »
0
cuando hablaba de espacio de memoria me referia al segmento de memoria  :D lo que pasa que tiendo a inventar palabras para expresar lo que ya tiene nombre..  :P

ya hice eso, los programas reciben los parametros (el string que llamo a el programa esta almcenado en el segmento del kernel  :o ) y los parsean con una funcion llamada getToken que les devuelve uno a uno los tokens de la llamada.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Paso De Parametros A Programas
« Respuesta #6 en: Sábado 21 de Enero de 2006, 10:08 »
0
No era eso a lo que iba sino que no tenes ningun tipo de proteccion sobre la memoria que yo sepa. Se podria llegar a sobreescribir la memoria del Kernel tranquilamente.

Te recomiendo que busques informacion sobre el PSP (Program Segment Prefix) de MS-DOS que entre otras cosas incluye la linea de comandos.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.