caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Xavier Leroy <xavier.leroy@inria.fr>
To: Vitaly Lugovsky <vsl@ontil.ihep.su>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] -ccopt -shared
Date: Fri, 7 Dec 2001 22:23:30 +0100	[thread overview]
Message-ID: <20011207222330.A26382@pauillac.inria.fr> (raw)
In-Reply-To: <Pine.LNX.4.33.0112042324380.5309-100000@ontil.ihep.su>; from vsl@ontil.ihep.su on Tue, Dec 04, 2001 at 11:27:40PM +0300

> > If you really want to create a shared library containing OCaml code
> > and the OCaml runtime system, this can be done, but you need to use
> > ocamlc -output-obj or ocamlopt -output-obj to package the OCaml code
> > as a C object.
> 
>  And the resulting code will be PIC on x86 with a native compiler? 

No.  It will not be position-independent code.  But good dynamic
linkers such as those of Linux and Windows do not require
position-independent code; they can also load dynamically code
containing absolute references.  This is a bit slower than dynamically
linking pure PIC code, and prevents the sharing of the code segment
between several processes that load the shared library, but it still works.

> Is it already usefull?

Depends what you need shared libraries for.  If your goal is to reduce
memory consumption because many running processes share the library,
then no, it's not useful.  But it *is* useful if your goal is to
interface with another system that cannot statically link with your
code and absolutely requires foreign code to be a shared library, such
as Java's native method interface, or COM's "in-proc" components.

- Xavier Leroy


-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


  parent reply	other threads:[~2001-12-07 21:23 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200112030940.fB39eYA28293@ploum.inria.fr>
2001-12-03 14:57 ` Christophe Raffalli
2001-12-04 12:20   ` Xavier Leroy
2001-12-04 20:27     ` Vitaly Lugovsky
2001-12-04 23:27       ` malc
2001-12-07 21:23       ` Xavier Leroy [this message]
2001-12-08  0:53         ` malc

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20011207222330.A26382@pauillac.inria.fr \
    --to=xavier.leroy@inria.fr \
    --cc=caml-list@inria.fr \
    --cc=vsl@ontil.ihep.su \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).