Bitsdelocos

Programación => Programación (C, ADA, C+...) => Mensaje iniciado por: Berni69 en Febrero 23, 2010, 10:53:03 pm

Título: Equivalencia entre C y Ada: System Call
Publicado por: Berni69 en Febrero 23, 2010, 10:53:03 pm
Aqui dejo un codigo bastante util si se requiere crear un ejecutable que llame a otro ejecutable
Código: (ada) [Seleccionar]
--programa que simula la funcion System en C
--Dada una cadaena de caracteres  introducida
--por pantalla intentara ejecutar dicho ejecutable.

WITH Interfaces.C;
WITH Ada.Text_IO;
USE Ada;
use ada.Text_IO;

PROCEDURE Edit IS

   PACKAGE C RENAMES Interfaces.C;

   FUNCTION System (
         Command : C.Char_Array)
     RETURN C.Int;
   PRAGMA Import(C, System);
   --pragma import(C, system, \"system\");

   Rc : C.Int;
   BEGIN
      Put(\"Posa el programa a executar\");new_line;
     
   Rc := System(C.To_C(get_line));

   Text_IO.Put_Line(Text_IO.Current_Error,
      \"system returns\" & C.Int'Image(Rc));
END Edit;