From: "Michel Simeon" <michel.simeon1@free.fr>
Subject: Re: Is there some way of calling a system command?
Date: Thu, 15 Jun 2006 16:03:12 +0200
Date: 2006-06-15T16:03:13+02:00 [thread overview]
Message-ID: <449168a1$0$9944$636a55ce@news.free.fr> (raw)
In-Reply-To: 1150031952.347657.244910@i40g2000cwc.googlegroups.com
I am learning Ada and does not know C.
I tried your approach to call an othe program from Ada and it worked, except
for one problem: the calling program will wait for the return parameter (Rc
in your exemple) and thus freeze till the other one is closed.
Could i do something similar but withour the retrun parameter ?
--
Michel Simeon
<jimmaureenrogers@worldnet.att.net> wrote in message
news:1150031952.347657.244910@i40g2000cwc.googlegroups.com...
> Aldebaran wrote:
>> I am a newbie Ada-programmer and need help with this topic.
>> In C one can launch a system command, for instance through
>> the following function.
>>
>> system("ls ");
>>
>> or in JAVA
>>
>> exec("ls");
>>
>> Is there some similar way of calling a system command in ADA?
>
> The easiest way is to simply call the C system command.
> The example below was run on my Windows XP system.
>
> with Interfaces.C.Strings;
> use Interfaces.C.Strings;
>
> procedure System_Example is
> function System_Call(Command : Chars_Ptr) return Interfaces.C.Int;
> pragma Import(Convention => C, Entity => System_Call,
> External_Name => "system");
> Rc : Interfaces.C.Int;
>
> begin
> Rc := System_Call(New_String("dir"));
>
> end System_Example;
>
> The important part of the example is the creation of a function
> specification I have named System_Call. That function specification
> take a parameter of Chars_Ptr, which corresponds to a C char *.
> The function specification is used as the Ada interface to the C
> system call. The compiler is notified of that association through
> the pragma Import. That pragma causes the compiler to link the C
> system command and call it whenever System_Call is called in the
> Ada code.
>
> Jim Rogers
>
next prev parent reply other threads:[~2006-06-15 14:03 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-11 8:46 Is there some way of calling a system command? Aldebaran
2006-06-11 13:19 ` jimmaureenrogers
2006-06-11 14:35 ` Aldebaran
2006-06-15 14:03 ` Michel Simeon [this message]
2006-06-15 14:11 ` Ludovic Brenta
2006-06-15 14:57 ` Michel Simeon
2013-11-26 15:35 ` tolkamp
2013-11-26 16:10 ` adambeneschan
2013-11-26 18:54 ` tolkamp
2013-11-26 19:49 ` adambeneschan
2013-11-26 21:03 ` Dirk Heinrichs
2013-11-27 7:02 ` Georg Bauhaus
2013-11-27 14:10 ` Eryndlia Mavourneen
2013-11-27 8:52 ` Jacob Sparre Andersen
2013-11-27 18:56 ` tolkamp
2013-11-26 18:24 ` Per Sandberg
2013-11-26 18:58 ` Jeffrey Carter
2013-11-26 20:31 ` Dmitry A. Kazakov
2013-11-26 22:52 ` Randy Brukardt
2013-11-28 5:37 ` Per Sandberg
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox