From: Martin Kahlert Date: 2001-10-05T15:56:36+09:00 Subject: [ruby-talk:22121] Re: The Windows question still remains... Hi, On Fri, Oct 05, 2001 at 11:57:42AM +0900, Aleksei Guzev wrote: > Intel's C++ compiler "understands" almost everything that VC++ can > compile. But cygwin provides such things like "noreturn". It's a good > hint, but using this word would lead to incompatibility. noreturn is no cygwin extension. Every gcc knows of it, thus it is in cygwin's gcc and in mingw. I you do not want the compiler to see this, use defines!. (E.g. on Linux, all these extensions are defined to be empty in the headerfiles for non-gcc compilers). VC++ has the same sort of extensions... > I think there is the standard of C++. > It doesn't matter what compiler will eat my > text files. My texts should conform to the standard and compiler should > conform to the same standard. Yes. Then g++ is the better way to go, because its standard-conformance is much better than VC++'s. Unfortunately, that's only true for > gcc-3.*, mingw is based on gcc-2.95.3 up to now IIRC. Standard conformance is only important for sources, ruby extensions should be *object file compatible*: If you want to supply ruby extensions, which can be used by anyone (i.e. from non-developper folks, too) you must make sure, that the binaries are compatible. There are *no* two C++ compilers, which produce binary compatible objects! This is by design, not by accident and caused by the complexity of C++. So, if you want to produce extensions for widespread use, stick to C. > When a user wishes get ver-very efficient code he/she would get perfect > and expensive compiler for his/her platform. If MingW or sygwin are not > standart that's their problem: there WILL be a good free compiler. On Windows, there are only 3 free C++ compilers at all (Borland, gcc and VC++ -- is Watcom C++?) None of them conforms completely to the standard IIRC. Hope that was correct, Martin. -- The early bird catches the worm. If you want something else for breakfast, get up later.