[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]