home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / CLIPPER / CLIPTIPS.ZIP / SUPTBULL.ZIP / S50007.TXT < prev    next >
Text File  |  1992-05-28  |  7KB  |  154 lines

  1. Clipper Support Bulletin #7
  2. .RTLink questions and answers
  3.  
  4. Copyright (c) 1991, 1992 Nantucket Corporation.  All rights reserved.
  5.  
  6.  
  7. Version:  Clipper 5.0, version 5.01
  8. Date:     22nd January, 1992
  9. Revised:  22nd May, 1992
  10. Status:   Active
  11.  
  12. ================================================================================
  13.  
  14. This Support Bulletin covers the following topics:
  15.  
  16.    1. Can I disable .RTLink's use of expanded memory?
  17.    2. Does incremental linking work?
  18.    3. What is the difference between the LIB and SEARCH statements?
  19.    4. What is the easiest way to create a prelinked library?
  20.    5. What is the current default stack size?
  21.    6. What does "Cannot combine common segment <segment name>" mean?
  22.    7. Is there any overhead associated with static overlays?
  23.    8. Additional Notes
  24.        8.1. Automatic Search Requests
  25.        8.2. NOTABLEOFCONTENTS
  26.        8.3. Order Of Symbol Searching
  27.        8.4. MODULE Overides LIB
  28.        8.5. Calling a Symbol in the Same Static Overlay Area
  29.  
  30. ================================================================================
  31. 1. Can I disable .RTLink's use of expanded memory?
  32.    
  33.    .RTLink hangs occasionally with 386 Max (and other memory
  34.    managers).  To turn off EMS useage, use SET RTLEMSOFF=1.  To turn
  35.    off XMS useage, use SET RTLXMSOFF=1.
  36.    
  37.    An alternative to slow swap files being created when you turn off
  38.    EMS or XMS useage is to redirect the swap file to a RAMdisk.  To
  39.    do this, specify WORKFILE E: in the link file, or set the
  40.    environmental variable TMP to E:.
  41.    
  42. ================================================================================
  43. 2. Does incremental linking work?
  44.    
  45.    Yes, but it only works on Clipper code.  Therefore, the effect is
  46.    not very noticable unless you use a prelinked library so that you
  47.    are not relinking the code in CLIPPER.LIB.
  48.    
  49. ================================================================================
  50. 3. What is the difference between the LIB and SEARCH statements?
  51.    
  52.    Nothing.  SEARCH is included for compatibility only.
  53.    
  54. ================================================================================
  55. 4. What is the easiest way to create a prelinked library?
  56.    
  57.    How do I determine what should be REFERed and what should be
  58.    EXCLUDEd?
  59.    
  60.    The easiest way to create a (.PLL) file is to use the
  61.    NOTABLEOFCONTENTS command to list all the symbols that are being
  62.    linked in.  You must also specify the VERBOSE command.  Then use
  63.    REFER to specify these symbols in your linker script file.  REFER
  64.    adds a symbol to the search request list, and EXCLUDE removes one.
  65.    
  66. ================================================================================
  67. 5. What is the current default stack size?
  68.    
  69.    The default stack size is 1000 hex (4096 dec).  If problems are
  70.    encountered, try increasing the stack size to 5000 hex (20480
  71.    decimal).  This can be done using the STACK command, as follows:
  72.    
  73.    STACK 5000     // 5000 hex
  74.    STACK 20480.   // Hex syntax, but period specifies decimal
  75.    /STACK:20480   // 20480 decimal
  76.    /STACK:5000.   // Hex syntax, but period specifies hex
  77.    
  78. ================================================================================
  79. 6. What does "Cannot combine common segment <segment name>" mean?
  80.    
  81.    Common segments cannot have a symbol in an .EXE and another in a
  82.    prelinked library.  To correct the problem either EXCLUDE the
  83.    symbol that is in the (.PLL) or INCLUDE the symbol that is in the
  84.    .EXE.  Either way, both symbols must be moved so that they are in
  85.    the same place.
  86.    
  87. ================================================================================
  88. 7. Is there any overhead associated with static overlays?
  89.    
  90.    Yes.  When a static overlay is created, the Static Overlay Manager
  91.    is included in the .EXE file.  As this takes up about 10K, the
  92.    overlay being created must save this much memory in order to be
  93.    useful.
  94.    
  95. ================================================================================
  96. 8. Additional Notes
  97.    
  98.    ----------------------------------------------------------------------------
  99.    8.1. Automatic Search Requests
  100.    
  101.    Automatic search requests (the ones the compiler puts in to
  102.    automatically search all the Clipper libraries) are satisfied
  103.    AFTER the search of any libraries listed in the LIB statement. For
  104.    example:
  105.    
  106.    C>RTLINK FI MyObj LIB FuncLib
  107.    
  108.    FuncLib will be searched BEFORE Clipper, Extend, etc.  If you want
  109.    CLIPPER.LIB to be searched before FuncLib, use the following:
  110.    
  111.    C>RTLINK FI MyObj LIB Clipper, FuncLib
  112.    
  113.    ----------------------------------------------------------------------------
  114.    8.2. NOTABLEOFCONTENTS
  115.    
  116.    The NOTABLEOFCONTENTS command can be used to prevent unresolved
  117.    symbols in cases where the table of contents is not complete for
  118.    some reason.  NoTableOfContents causes the linker to manually
  119.    search each object and library file instead of using the table of
  120.    contents to determine what symbols each file contains. Libraries
  121.    created with Borland's TLIB utility have a table of contents that
  122.    .RTLink does not recognize, and should be linked using the
  123.    NOTABLEOFCONTENTS command.
  124.    
  125.    ----------------------------------------------------------------------------
  126.    8.3. Order Of Symbol Searching
  127.    
  128.    A prelinked library will satisfy a search request BEFORE any
  129.    object or library files are searched.  Therefore, a symbol in a
  130.    (.PLL) will always take precedence over a symbol in the (.OBJ) or
  131.    (.LIB).
  132.    
  133.    ----------------------------------------------------------------------------
  134.    8.4. MODULE Overides LIB
  135.    
  136.    The MODULE command, which forces a file to be overlayed, overrides
  137.    the LIB command, which causes symbols from the file being linked
  138.    to be put into the root
  139.    
  140.    ----------------------------------------------------------------------------
  141.    8.5. Calling a Symbol in the Same Static Overlay Area
  142.    
  143.    To allow static overlays to be called from a symbol in the same
  144.    overlay area, the command RELOAD FAR <stack size> must be used to
  145.    allow the RETURN to take place properly.  The default figure for
  146.    the reload stack is 100 this allows you to make 100 calls into an
  147.    overlay section before any RETURNs are recorded. Increasing this
  148.    figure to 200 provides enough entries in the overlay entry table
  149.    to handle the code and function calls in a standard C runtime
  150.    library.
  151.    
  152.  
  153.                               *  *  *
  154.