我用直接用 installer 在 windows 下安装的,然后发现不同的版本号,如 x64-mswin64_80 x64-mswin64_90 想问下,80 是代表 VS2005 编译出来的吗?90 是 VS2008?? 此外,我发现 2.0.0 版本的 binary 是 x64-mswin64_mingw32,是否意味着这个 Windows 版本是通过 MinGW 在 Linux 下交叉编译得来的?
80 表示链接到 msvcrt80.dll, 90 链接到 msvcrt90.dll
mingw32 的是 mingw 编译的,是不是交叉就不一定了
#1 楼 @luikore 为什么我在官网已经搜不到 90 的版本了呢?我现在用 80 的 ruby.exe 直接 coredump 掉。
#1 楼 @luikore 是我没找对地方?还是其他原因,在 google 好像也很难搜到。
#3 楼 @588588 VC 各种对 C99 支持不标准,问题很多,所以 rubyinstaller 已经完全转向 mingw 了
#4 楼 @luikore 这么冷的知识,你是怎么知道的啊?
#5 楼 @lgn21st https://github.com/luislavena 说的... 好象是 ruby-forum 上?后来 vc 编译的就很少有人测试了 (以前 yugui 当 release manager 的时候,还会用主流的 visual studio 编译发布二进制的...). 我自己链接到 msvcrt100.dll 的编译出来比 mingw 快很多,因为 mingw 是链接到很古老的 vc runtime 上的...
#6 楼 @luikore http://www.ruby-forum.com/topic/126416#new你是指的这个帖子吗?
#7 楼 @588588 好象是,然后有很多 gem 也用 rake compiler 编译 windows 的二进制版本,导致和 vc build 出来的 ruby 不相容 (从源码 gem install 往往是可以的)