[comp.sys.amiga.programmer] C++ Header standards?

Lee_Robert_Willis@cup.portal.com (05/08/91)

Now that C++ compilers are starting to show up for the Amiga
(Comeau C++ is out now, SAS C++ is supposed to be out this 
summer, and Lattice C++ has been out of its mind for years)
There may be an issue which C= may need to address:

   Will there by a "standard" set of Amiga C++ header files?

The Lattice C++ system comes with some decidedly non-standard C++
bindings.  This can be somewhat confusing.  Examples:

   *  most structures come in two flavors: uninitialized ("uMinList")
      and initialized ("MinList")

   *  You don't have to OpenLibrary() IntuitionBase (in fact it
      complains if you do), but you do have to OpenLibrary() 
      DiskfontBase.  It is not documented which libaray bases must
      be opened, and which ones are opened auto-magicly.

   *  The method that returns a pointer to a Window's RastPort is 
      "window->graphic()".   (Why not "window->rastport()", fer gosh
      sakes?)

      I'm considering creating my own C++ headers, which would be
      tedious, but not complicated.  But I couldn't distribute them
      ( (c) C=A ), so any code I write which is based on these headers
      would be useless to anyone else.  (I've enough ego to think that
      others might want to use my code.)

The Comeau system does not distribute any Amiga-specific C++ headers, but
comes with a utility which converts C header files to C++ header files
(so you can use the C= C headers).

I don't know what SAS C++ will do, but there is the potential for three 
separate C++ header file 'standards'.  We Amiga hackers will not be able
to take advantage of the 're-usable-ness' of C++ if we don't start from
the same base classes (i.e. header files).

Lee	Lee_Robert_Willis@cup.portal.com 

comeau@ditka.Chicago.COM (Greg Comeau) (05/10/91)

In article <42111@cup.portal.com> Lee_Robert_Willis@cup.portal.com writes:
>Now that C++ compilers are starting to show up for the Amiga
>(Comeau C++ is out now, SAS C++ is supposed to be out this 
>summer, and Lattice C++ has been out of its mind for years)
>There may be an issue which C= may need to address:
>   Will there by a "standard" set of Amiga C++ header files?

Um, I think it's safe to say in public that the right parties/vendors are
currently discussing this situation as a group.  My personal guess is that
we're go to see 2 or 3 levels of C++ header specs come out over the course
of this year.

>The Lattice C++ system comes with some decidedly non-standard C++
>bindings.  This can be somewhat confusing.  Examples:

Nevertheless, they may be one place to start from (although I don't
as yet know the legal ramifications of my making such a statement!). ;-)

>      I'm considering creating my own C++ headers, which would be
>      tedious, but not complicated.  But I couldn't distribute them

Unless you need it yesterday, I would say don't waster your time.
It'll create a lot of headaches.  And I mean a lot.  The split second
we start seeing diversity in this are is probably the same split second
we should remove C++ from all our systems.  I was saddeneded to hear
of some grave incompatibilities with C compilers, and I hate for
us all to make the same mistake with C++, no matter if the mistake
comes about technically, personally, or competitively.

>The Comeau system does not distribute any Amiga-specific C++ headers, but
>comes with a utility which converts C header files to C++ header files
>(so you can use the C= C headers).

Right, but even though that's very valuable, there *should* be C++
specific headers.

- Greg
-- 
	 Comeau Computing, 91-34 120th Street, Richmond Hill, NY, 11418
                          Producers of Comeau C++ 2.1
          Here:attmail.com!csanta!comeau / BIX:comeau / CIS:72331,3421
                     Voice:718-945-0009 / Fax:718-441-2310