home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / programmer / 6537 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.3 KB

  1. Path: newsserver.rrzn.uni-hannover.de!tubsibr!duening
  2. From: duening@ibr.cs.tu-bs.de (Lars Duening)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: Dynamic loading/linking
  5. Date: 29 Mar 1996 14:52:53 GMT
  6. Organization: TU Braunschweig, Informatik (Bueltenweg), Germany
  7. Distribution: world
  8. Message-ID: <4jgtg5$67h@ra.ibr.cs.tu-bs.de>
  9. References: <Dp0x52.90C.0.-s@cs.vu.nl>
  10. Reply-To: duening@ibr.cs.tu-bs.de (Lars Duening)
  11. NNTP-Posting-Host: kastor.ibr.cs.tu-bs.de
  12.  
  13. In article <Dp0x52.90C.0.-s@cs.vu.nl> irmen@cs.vu.nl (Irmen de Jong) writes:
  14. >Say I want to split my program into separate parts (because it's
  15. >getting too big, or because some parts are rarely used).
  16. >(I'm talking about my port of the python interpreter here)
  17. >
  18. >What solutions  are feasible?
  19. >
  20. > [ Overlay, LoadSeg() snipped ]
  21. >
  22. >- Amiga shared library. Would be most ideal, but libraries cannot reference
  23. >  global data. (Ok Ok they can by passing all the pointers to all the
  24. >  global data you want to reference but in my case this is no option.
  25. >  Way to much global data.)
  26.  
  27. Do it this way. With properly 'struct'ured global data, passing
  28. pointers is easy (and in my experience leads to a cleaner design).
  29. As an added bonus, you can run several instances of your program from
  30. just one set of loaded executables.
  31. -- 
  32. Lars Duening; duening@ibr.cs.tu-bs.de
  33.