[Back to FAQ SWAG index] [Back to Main SWAG index] [Original]

    TP 4.0 5.0 5.5 - LINKING TURBO C OR ASSEMBLER .OBJ OBJECT FILES
    Q. Are the .OBJ files generated by Turbo C and Turbo
       Assembler compatible with 4.0+?
    A. Yes.  You can write Turbo C or Turbo Assembler routines and
       link the .OBJ files into your Turbo Pascal programs by using
       the {$L} compiler directive.  See the CTOPAS example on the
       distribution diskette.

    TP 4.0 5.0 5.5 -  OBJECT FILE CREATION
    Q. Does Turbo Pascal create object files that can be linked into
       other languages?
    A. Turbo Pascal 4.0+ generates .TPU (Turbo Pascal Unit) files, not
       .OBJ files. We've made that decision for many reasons:

          1. TP 4.0+'s .TPU files are smaller than .OBJ's, and they
             contain symbolic information important to the support of
             Pascal's strict type conventions (types, constants,
             etc.).
          2. .TPU files allow "smart linking" - elimination of unused
             code and data on a procedure-by-procedure basis.
          3. .TPU's allow built-in project management through version
             4.0+'s Make and Build commands.
          4. .TPU's allow faster compilation speeds (34,000 lines per
             minute on a PS/2 Model 60).

    TP 4.0 5.0 5.5 - LINKING .OBJ OBJECT FILES FROM OTHER ASSEMBLERS
    Q. Will the $L compiler directive work for compiler object files
       other than assembler?
    A. That depends on the language. TURBO requires all the code
       in the .OBJ to be in *one* CODE segment, and all the data to
       be in *one* DATA segment. With assembly language that's easy,
       but it may not work with some high-level language compilers.
       You can use Turbo C to generate .OBJ files for use by Turbo
       Pascal programs. An example, CPASDEMO.PAS is included on the
       distribution disks.

    TP 4.0 5.0 5.5 - INTERFACING MODULES WRITTEN IN MICROSOFT C
    Q. Can I link modules, written in Microsoft C, with Turbo Pascal
       programs?
    A. Yes.  M/S C .OBJ modules can be linked provided they do not
       use the C runtime library.  The same limitations apply to M/S
       C modules as to Turbo C modules.

[Back to FAQ SWAG index] [Back to Main SWAG index] [Original]