Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!rpi!uupsi!sunic!lth.se!newsuser From: dag@control.lth.se (Dag Bruck) Newsgroups: comp.windows.interviews Subject: Re: Shared libraries / InterViews Summary: Possible, no problems. Message-ID: <1991Apr18.061116.21088@lth.se> Date: 18 Apr 91 06:11:16 GMT References: <18377@sdcc6.ucsd.edu> Sender: newsuser@lth.se (LTH network news server) Organization: Department of Automatic Control, Lund, Sweden Lines: 32 In article <18377@sdcc6.ucsd.edu> bruss@odin.ucsd.edu (Brian Russ) writes: > (1) Would shared libraries help at all? Yes, it helps tremendously. It cuts down on the size of the executable and on link time. > (2) Can libInterViewsX11.a be converted into a shared library? > How? I compiled all modules with `-pic', linked them with `ld -assert pure-text' and that was it! The modules compiled with `-pic' and be stored in an .a file as well. > (3) Can our user libraries (just collections of C++ classes > derived from InterViews) be converted into shared libraries? > How? Possibly, but consider the constraints of shared libraries. > (4) Are there any guidelines about what can and can't be shareable? > I think the general idea is that code that uses global or > static data is out, but I may be over-simplying this, or maybe > I'm just plain wrong. I haven't quite understood this myself, but you are probably close. For example, AT&T's iostream library needs some "fixing" to be compiled as a shared library. I have used shared libraries on Sun-3/4 running SunOS 4.0.3 and 4.1; we have used AT&T's compiler version 2.0.1 and 2.1. -- Dag