Status : Multimedia section
Boaz Harrosh
boaz at hishome.net
Sun Dec 7 06:00:36 CST 2003
I second Mike on this. I think it is cardinal to the wine project.
If wine fails to correctly address this in the future (accept C++
projects) there will come a time that some one will split wine yet again.
winehq - some windows implementation.
wine++ - winehq + C++ projects for a more robust wine.
C++ ABI changes does not concern wine nor windows. Actually COM was
defined exactly in the manner that will not be affected by C++ ABI. One
can say that COM is the lowest common denominator of the C++ compilers.
GCC has been producing COM compatible ABI for years. On windows as well
as in Linux and other x86 platforms. The Mozilla project has been
counting on this since the beginning. It is not a theoretically if. It
is working today. I have MFC and ATL/WTL compiled under Linux fully
supporting COM-controls. Windows binaries that is. Linux compiled
controls I don't yet have because of the TLBS but I'll get to it
eventually. Actually wine headers today support C++ compilation for all
Interface declarations. Also the WDL will produce C++ compatible headers.
About mixing of C++ objects with COM Objects it is done exactly has on
windows. If you stick to the COM rules you can do what you like
(internally).
If you are concerned with C++ run-time like STL and GLIBC++, than C++
programmers know these problems and how to avoid them. There are bigger
projects than wine that has written the books about these issues. One
just has to follow the rules and avoid the mistakes of the past. These
things happen in C too. Just now we had an issue with RH 9 new GLIBC and
a special code was written to detect that in runtime. The maintainer of
the C++ code will have to watch for these things. And they will be
discovered and patched soon enough.
Lionel Ulmer wrote:
>On Fri, Dec 05, 2003 at 10:45:26AM +0000, Mike Hearn wrote:
>
>
>>* Support for it is bad in the free software toolchain (no longer an
>>issue)
>>* Not as many people know it as C (but even fewer know assembly and we
>>use that all over the place)
>>* Windows is written in C (it's also written in c++ though, esp the more
>>modern parts).
>>
>>Have I missed any other problems with it?
>>
>>
>
>Well, the most common concern about it is the continuous ABI changes in the
>C++ libraries... Which were promised to be ended with GCC 3.3 but seems
>still to shift a bit.
>
>After, is there a way in the 'free' C++ compiler to match COM objects with
>C++ objects ?
>
> Lionel
>
>
>
More information about the wine-devel
mailing list