Ruby 问一个 Windows 下 Ruby 版本号的问题

588588 · 2013年03月18日 · 最后由 luikore 回复于 2013年03月18日 · 2355 次阅读

我用直接用 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 上的...

#7 楼 @588588 好象是,然后有很多 gem 也用 rake compiler 编译 windows 的二进制版本,导致和 vc build 出来的 ruby 不相容 (从源码 gem install 往往是可以的)

需要 登录 后方可回复, 如果你还没有账号请 注册新账号