From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,c74781e34db23310 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-04-15 12:47:05 PST Path: archiver1.google.com!news1.google.com!news.glorb.com!newsrout1.ntli.net!news.ntli.net!newspeer1-win.server.ntli.net!newsfe1-win.POSTED!53ab2750!not-for-mail From: chris User-Agent: Mozilla Thunderbird 0.5 (X11/20040208) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Application Size in Ada References: <87y8ox2jpq.fsf@insalien.org> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Date: Thu, 15 Apr 2004 20:49:27 +0100 NNTP-Posting-Host: 81.107.63.68 X-Trace: newsfe1-win 1082058375 81.107.63.68 (Thu, 15 Apr 2004 19:46:15 GMT) NNTP-Posting-Date: Thu, 15 Apr 2004 19:46:15 GMT Organization: NTL Xref: archiver1.google.com comp.lang.ada:7161 Date: 2004-04-15T20:49:27+01:00 List-Id: Simon Lewis wrote: > How is dynamic linking achieved in Ada? It's not. It's the compiler that deals with this and it depends on the compiler. Assuming you're using GNAT, it has instructions on how to use compiler to produce libraries in the user guide. I'm having some difficulty with this on Linux but am in the process of sorting it out. > Are the Ada specific DLL's or can a DLL be used by any language as long > as you have the right 'bindings' (You will have to excuse my ignorance, > i am not very familiar with linking in Ada). You can import DLLs written in many other compilers/languages fairly easily, providing they don't require any special runtime be setup prior to accessing them. Going the other way, say from GNAT to C (gcc) is a little more difficult because you have to initialise the Ada runtime and the C won't necessarily understand the Ada types. You have to provide a mapping between the Ada and C types using something like the package Interfaces.C as part of the library or a separate library wrapped around the Ada one. The GNAT User Guide details this as well as how to create/use dlls. Not sure exactly what section in the manual it is on Windows, but for Linux it's section 16 (gnat 3.15p). Chris