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