portability

RAMontante bobmon at iuvax.cs.indiana.edu
Wed Jan 18 16:18:17 AEST 1989


gwyn at brl.arpa (Doug Gwyn (VLD/VMB) <gwyn>) writes:
-geoff at emerald.UUCP (Geoff Rimmer) writes:
->Awww come on!  The main extensions they have provided are not
->essential to programming in C - a lot of the extensions are things
->like new keywords like
->	pascal, fortran, cdecl, far, near, huge.
-
-Some of us would argue that the ABSENCE of these extensions is more
-useful to the portable-C programmer than their presence!  I have had
-code in the past that used several of these as variable names, etc.
-Unless the compiler manages to allow them as user identifiers outside
-the context of type declarations, they are bound to get in the way.
-(I don't know whether or not MicroSoft's compiler is that clever.)

I don't know about MSC, but Turbo C has a switch to turn these off and
only accept strictly dpANS keywords (is "strictly dpANS" an oxymoron?)
if desired.

Note that 'pascal' 'fortran', and 'cdecl' exist to allow linking with
modules written in these languages and compiled by Microsoft compilers
for these languages under MSDOS.  'far', 'near', and 'huge' all exist to
allow optimizing for the segmented structure of the 8086 (and can be
obviated at some cost in size and execution speed by compiling in HUGE
memory model).  This linking and memory-model-monkeying is inherently
non-portable anyway; the operations just don't make any sense on most
systems.

Hey!  What'd you do with the 'entry' keyword?!?!?  A 'goto' is only half
a 'goto' if I can't have multiple entries to a procedure!  Cheee....



More information about the Comp.lang.c mailing list