[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Illegal C++

From: Wiz Aus
Subject: Re: Illegal C++
Date: Fri, 07 Oct 2005 07:11:41 +1000

From: Han-Wen Nienhuys <address@hidden>
To: Wiz Aus <address@hidden>
CC: address@hidden
Subject: Re: Illegal C++
Date: Thu, 06 Oct 2005 12:33:10 +0200

Wiz Aus wrote:
Ok, now I'm trying to actually play with the lilypond code -- but it seems to be full of completely illegal C++ - like trying to cast class member functions to standalone functions etc. etc. The cases I've found so far are all very easy to fix, just by adding proxy function definitions in the macros that set these things up, so I can't work out why it would be written like this in the first place.

Because we want to skip the (proxy) function calls for performance reasons.

Um...lilypond uses an interpretive language (Scheme), goes via TEX and PS to produce output, and you're worried about a few extra C++ function calls? I would be flabbergasted if this made any measurable difference to lilypond's performance.

Anyway, the #define's I've changed can easily be #ifdef'd out to allow for different compilers.

Has anyone ever tried to get the code compiling on another C++ compiler?

No, and it has never been our intention to support other compilers.

Why even use C++ if you don't care about C++ conformance?
And when gcc 4.0 comes out and they decide to change to the Microsoft fastcall callling convention under Windows (which passes the "this" pointer in a register) in order to be compatible with existing MS libraries, you're happy to be stuck with having to use an old compiler?

FWIW, I have the whole thing compiling and linking under MSVC 7.1. Unfortunately I'm having a problem getting libguile to work (it just gives me "ERROR: Unbound variable: define"), but it doesn't seem an insurmountable hurdle.

Access your Hotmail straight from your i-mode mobile http://a.ninemsn.com.au/b.aspx?URL=http%3A%2F%2Fadsfac%2Enet%2Flink%2Easp%3Fcc%3DTEL175%2E16267%2E0&_t=751223833&_m=EXT

reply via email to

[Prev in Thread] Current Thread [Next in Thread]