comp.lang.ada
 help / color / mirror / Atom feed
From: "Marc A. Criley" <mcqada@earthlink.net>
Subject: Re: howto make system calls (newbie question)
Date: Fri, 04 May 2001 12:12:55 GMT
Date: 2001-05-04T12:12:55+00:00	[thread overview]
Message-ID: <3AF28F9A.6DC3BD90@earthlink.net> (raw)
In-Reply-To: Pine.GSO.4.10.10105041030240.15731-100000@licia.dtek.chalmers.se

Lars Lundgren wrote:
> 
> On Fri, 4 May 2001, L.H.Jeong wrote:
> 
> >
> > procedure Command is
> >
> >    function C_System(value : String) return integer;
> >    pragma Import(
> >          C, C_System, "system");
> >
> >    result : integer;
> > begin
> >    result := C_System("pwd ");
> >    result := C_System(value => "acdsee D:\work\pictures\BP47.jpg ");
> > end Command;
> >
> >
> >
> 
> Thank you very much!
> 
> That does do the trick for me.
> 
> However i'm rather surprised to see you suggest that I escape ada and
> import C-functions. Is it really the case that such a (from my
> perspective) basic function can not be done solely in Ada - despite its
> extensive libraries?

"system" is neither part of C, nor part of Ada, it is an OS function
that uses a C-style calling syntax.

There's a widespread belief that OS functions, string handling
functions, and so on, are all part of C, which makes C so much more
powerful than languages like Ada.  In reality, all those functions are
provided in libraries for which C bindings have merely been provided by
the vendor.  The libraries themselves can be written in any programming
language, it is simply that a C-style calling syntax must be provided.

I've worked on a shared library, completely written in Ada, that is
invoked by C and Ada applications.  Even the Ada applications have to
use "pragma Import(C, ...)" to gain access to its functions.  (And of
course the library specifies pragma Export for the visible entities.)

Marc A. Criley
Senior Staff Engineer
Quadrus Corporation
www.quadruscorp.com



  reply	other threads:[~2001-05-04 12:12 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-04  7:51 howto make system calls (newbie question) Lars Lundgren
2001-05-04  8:16 ` L.H.Jeong
2001-05-04  8:47   ` Lars Lundgren
2001-05-04 12:12     ` Marc A. Criley [this message]
2001-05-04 15:49       ` Marin David Condic
2001-05-04 17:46         ` tmoran
2001-05-04 18:46           ` Marin David Condic
2001-05-05  7:01             ` tmoran
2001-05-04 16:35     ` Jeffrey Carter
2001-05-04 11:00 ` Noam Kloos
2001-05-04 12:01   ` Lars Lundgren
  -- strict thread matches above, loose matches on Subject: below --
2001-05-04 20:56 Beard, Frank
2001-05-07 14:42 ` Marin David Condic
2001-05-07 16:41   ` Samuel T. Harris
2001-05-07 18:25     ` Marin David Condic
2001-05-08 20:30       ` Samuel T. Harris
2001-05-08 21:13         ` Marin David Condic
2001-05-08 20:23     ` Samuel T. Harris
2001-05-08  7:34   ` Tarjei T. Jensen
2001-05-08 12:16     ` Larry Kilgallen
2001-05-08 14:12       ` Tarjei T. Jensen
2001-05-08 16:48         ` Larry Kilgallen
2001-05-08 21:40           ` Charles Hixson
2001-05-08 22:53             ` Larry Kilgallen
2001-05-09 16:00               ` Charles Hixson
2001-05-09 17:14                 ` Larry Kilgallen
2001-05-09  8:25           ` Tarjei T. Jensen
2001-05-09 12:28             ` Larry Kilgallen
2001-05-09 16:13               ` Charles Hixson
2001-05-10  7:17               ` Tarjei T. Jensen
2001-05-08 13:43     ` Marin David Condic
2001-05-12  2:58       ` Randy Brukardt
2001-05-12 13:07         ` Larry Kilgallen
2001-05-04 21:08 Beard, Frank
2001-05-04 22:45 ` Jeffrey Carter
2001-05-07 14:47 ` Marin David Condic
2001-05-09 13:41   ` Noam Kloos
2001-05-09 14:17     ` Ted Dennison
2001-05-16 12:45       ` Marc A. Criley
2001-05-16 19:50         ` Ted Dennison
2001-05-09 18:29 ` GianLuigi Piacentini
2001-05-09 19:18   ` David Starner
2001-05-07 17:04 Beard, Frank
2001-05-09 21:42 Mike Brenner
2001-05-09 22:07 Beard, Frank
2001-05-10 12:34 ` Samuel T. Harris
2001-05-09 22:19 Beard, Frank
2001-05-10  6:18 ` Pascal Obry
2001-05-10 12:40 ` Samuel T. Harris
2001-05-10 15:44   ` Stephen Leake
2001-05-09 22:28 Beard, Frank
2001-05-10 19:54 Beard, Frank
2001-05-10 20:41 ` Pascal Obry
2001-05-10 20:11 Beard, Frank
2001-05-11 16:03 ` Samuel T. Harris
2001-05-10 21:22 Beard, Frank
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox