From: Martin Kahlert Date: 2001-10-05T18:52:07+09:00 Subject: [ruby-talk:22126] Re: The Windows question still remains... Hi, On Fri, Oct 05, 2001 at 04:22:17PM +0900, Aleksei Guzev wrote: > Demanding binary compatibility will deny corssplatformness, because no > one knows surely what kind of processor do I use ;) If all of you are > speaking of binary compatibility I would leave the discussion... Note: This thread contains Windows in the subject line. So crossplatfomness is not an issue here. (Or is Windows crossplatform?) If you develop an extension, which is crossplatform, then it should be compilable on e.g. Unix, too. So avoid all Vendor extensions for example noreturn and also the infamous declspec stuff or at least use defines in the sources. If you develop a Windows extension (e.g. OLE,...) it will work on Windows i gues that 99.9999999% of your extension's users will not have a compiler at all. So on Windows, binary compatibility is an issue. We should try hard, that: - The ruby core compiles cleanly on VC++ and Borland and mingw and ... - This core ruby should be able to run some sort of common ruby scripts - The produced ruby executable can load foreign binary extension libs downloadable from RAA. Thus they may not rely on other vendors DLLs because of Windows's strange DLL handling and they must not rely on any Compiler specific initialization routines only provided by the compiler used for your extension. Thus you are left with that, a common Windows system provides. The only source code problem i see is the availability of up to date API headers for the compilers. > Note the word "expensive". Good ANSI compliant compiler is worth > spending money. Intels' C++ compiler is about $300 or so. For free > compilers there could be a "Ruby list of features" the compiler should > support. Those features should not fall outside the chosen standard. ACK. Regards, Martin. -- The early bird catches the worm. If you want something else for breakfast, get up later.