This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc does not know about "new" and "delete"


Christopher Faylor wrote:

> On Sat, Sep 22, 2007 at 04:29:53AM +0200, Markus E L wrote:
>>Erich Dollansky wrote:
>>
>>> Hi,
>>>
>>> Framk gave you the answer.
>>
>>Was the right answer ...
>>
>>> gcc is a plain c compiler.
>>
>>... but this is wrong. Gcc determines from the file suffic which language
>>applies
>>
>>   .cpp -> c++
>>   .c   -> C
>>
>>and so on.
>>
>>Calling it as g++ vs. calling it as gcc though determines which
>>runtimes are linked automatically (and partly which include paths are
>>set).
>>
>>  gcc -o x x.cpp -lstdc++
>>
>>works perfectly with the OPs program.

> That may be but it isn't guaranteed to work perfectly with every single
> C++ program out there.  

Exactly. That's why I said "with the OP's program", the implication
being that with other programs it might be necessary to add other
libraries (or include paths), too.

I've just been opposing the notion implied in "gcc is a plain c
compiler" that the compiler frontend determines the language to be
compiled. With gcc it determines the run time environment to be linked
and (perhaps) visible interfaces (as usually configured manually by
-I, but I'd like to note that's a theoretical possibility and
empirically doesn't seem to happen at the moment).

> There are potentially other libraries which might be required for
> C++.  You really should use g++ to link C++ programs.

Right. I never said differently.

-- Markus

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]