This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: <string.h> .vs. <String.h>
- To: dahms at ifk20 dot mach dot uni-karlsruhe dot de
- Subject: Re: <string.h> .vs. <String.h>
- From: Shankar Unni <shankar at chromatic dot com>
- Date: Thu, 30 Jan 1997 20:14:35 -0800
- CC: gnu-win32 at cygnus dot com
- Organization: Chromatic Research, Sunnyvale, CA
- References: <009AF2B1.418AF540.8748@ifk20.mach.uni-karlsruhe.de>
dahms@ifk20.mach.uni-karlsruhe.de wrote:
> I have never heard about the .h-less includes!
I assure you, it's been there since at least 1993. See
http://www.research.att.com/c++/ , which is an old (1995 April) draft of
the working paper, but a decent approximation to the overall structure,
at least, of the current document. See the libraries section.
> Would it be possible having *identical* contents for both, depending
> on _CPLUSPLUS or some such, protected from multiple includes by the same
> ifdef, or both just including another, third file with a secure name?
It's possible. Actually, the C++ standard has yet another out for this:
the C-standard headers are supposed to be "officially" included as
<cstdio>, <cstring>, etc. (i.e. truly conformant programs are not
supposed to use either <String.h> or <string.h>), which does solve the
problem.
But you can't make the same file return different things for C and C++,
since it should be possible to
#include <string.h>
.... strcpy(...) .... // error if you didn't include the C part
but at the same time,
#include <String>
.... strcpy(...) .... // MUST give an error, else namespace is polluted
So you can see - until the ANSI C++ standard is out there and in common
use, this thing is a can of worms..
--
Shankar Unni shankar@chromatic.com
Chromatic Research (408) 752-9488
-
For help on using this list, send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".