On 11/28/07, Pippijn van Steenhoven <[EMAIL PROTECTED]> wrote: > after having taken a more detailed look at the runtime environment > (specifically while looking for the *reasons* for all the #ifdefs),
As the person responsible for a lot of those POSIX #ifdefs, let me say there is no *reason* for them; it was an unfortunate decision I've regretted for many years. Alas, I still haven't found the time to fix it. > I found that much of POSIX, the entire graphics subsystem and more are > all inside the runtime. Most (all used by unicon users? Symbian OS, > anybody?) modern systems have a runtime linker and therefore, wouldn't > it be a good idea to have platform-dependent modules and a > platform-independent runtime? I don't like the overuse of the > preprocessor in the runtime. It makes it hard to understand. What do > Unicon people think of runtime linking? I agree with you that all those #ifdefs make the code hard to understand (and that's exactly why I regret it). But the issue of runtime linking is entirely orthogonal. Readable code doesn't require so/dll files! Just multiple source files -- one for each platform -- each implementing functions declared in a common header file. (You may have heard terms like "hardware abstraction layer".) There are two advantages of runtime linking: 1) you can update part of the runtime without requiring the executable (iconx) to be re-linked; 2) since shared libraries can be shared between executables, you can save on disk space. (Of course I realise that dynamic linking is very fashionable and K00L these days, but as my mom used to say "if everyone jumped off a bridge would you also?") The big disadvantage is that dynamic linking is fragile and a big pain in the ass. Advantage 2 does not apply -- no other executable uses iconx's X11 or POSIX functions. (And a few MB of disk space is just noise on a 100 GB disk.) Reason 1 does not make up for the incredible pile of shit that is runtime linking. Of course, these are just my opinions, and are worth exactly what you paid for them! Code talks loudest -- so if Clint wants to split the runtime into SOs and writes the code (or pays/convinces someone else to) -- or if *you* were to -- then that's that! Cheers, all! -s -- "I hate to advocate drugs or alcohol to anyone, but they've always worked for me." ------------------------------------------------------------------------- SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 _______________________________________________ Unicon-group mailing list Unicon-group@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/unicon-group