Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- CA-Clipper/ExoSpace 1.0g - <b>linking with ca-clipper/exospace</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Linking with CA-Clipper/ExoSpace
------------------------------------------------------------------------------

 Linking an .OBJ File

     You can link any CA-Clipper .OBJ file with CA-Clipper/ExoSpace by using
     the following command:

     EXOSPACE FILE <OBJFileName>

     For example, a simple CA-Clipper program that prints "Hello World" is
     contained in HELLO.PRG and has been compiled to HELLO.OBJ.  To link this
     simple application with CA-Clipper/ExoSpace, just execute the following
     command:

     EXOSPACE FILE HELLO

 .RTLink Link Scripts

     For larger applications, you may wish to use a script file to list the
     object modules and libraries to be linked.  A script file is a file
     containing a list of linker commands specifying the object files and
     libraries to be linked.  CA-Clipper/ExoSpace is designed to work with
     the same link scripts that are used with CA-Clipper's linker, .RTLink.
     Using your existing .RTLink link scripts, you can simply link your
     CA-Clipper application with CA-Clipper/ExoSpace by typing the following
     command:

     EXOSPACE @<ScriptFileName>

     Note:  Script files have a default extension of .LNK.

     For example, assuming you have a link script file named SAMPLE.LNK, you
     can execute the following command:

     EXOSPACE @SAMPLE

     Note:  CA-Clipper/ExoSpace also supports Blinker command sets.  If
     you use other linkers, you will need to create a link script containing
     the necessary CA-Clipper/ExoSpace commands.  See the
     "CA-Clipper/ExoSpace Commands" chapter and Appendix B for more
     information.

 The CA-Clipper Libraries

     As with .RTLink, the default CA-Clipper libraries--such as CLIPPER.LIB--
     are included by default, and do not need to be specified explicitly.
     The CA-Clipper/ExoSpace library, EXOSPACE.LIB, is also included by
     default.

     Note:  If for some reason you specify the CA-Clipper libraries
     explicitly, make sure that EXOSPACE.LIB is specified before any
     CA-Clipper library.  For example:

     EXOSPACE FILE HELLO LIBRARY EXOSPACE, CLIPPER, EXTEND, MYLIB

     Important!  If you are using CA-Clipper 5.01 or 5.01a, you must
     specify the option EXOSPACE CLIPPER 501 (which can be abbreviated as EXO
     CL 501).  For example, to link HELLO.OBJ with CA-Clipper 5.01a, you
     would execute the following command:

     EXOSPACE FILE HELLO EXO CL 501

     Of course, you must also ensure that the CA-Clipper 5.01 libraries are
     used.  Specifying EXOSPACE CLIPPER 501 will not affect which CA-Clipper
     libraries are accessed, but will cause CA-Clipper/ExoSpace to treat the
     application as a CA-Clipper 5.01 application.  If it is a CA-Clipper 5.2
     application, undefined behavior will result.

 What EXOSPACE.EXE Does

     While CA-Clipper/ExoSpace links your application for you, its primary
     function is not that of a linker.  The most important tasks
     CA-Clipper/ExoSpace performs are invisible and occur both before and
     after linking:

     .  CA-Clipper-compiled applications are enabled to execute
        without violating any of the restrictions imposed by protected mode.

     .  CA-Clipper's real-mode VM system is replaced with a protected-
        mode version.

     .  Any other operations necessary to allow CA-Clipper to run in
        protected mode are performed.

     In most cases, when creating a protected-mode CA-Clipper program with
     CA-Clipper/ExoSpace, no changes to your CA-Clipper code are required.
     Nor are changes required in well-behaved C or Assembler code that
     conforms to the CA-Clipper EXTEND system.

 Performance Considerations

     The CA-Clipper/ExoSpace linker will perform best if given sufficient
     memory in which to operate.  Just before CA-Clipper/ExoSpace finishes
     linking, the amount of memory used during the link is displayed.  Best
     performance will be achieved if you have at least this much RAM
     available when linking.  If you have less, swapping to disk will occur,
     which will slow down the link process.

     Note:  The amount of memory required for linking is proportional to
     the size of the application being linked.  Large applications may
     require more memory to be linked.


Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson