11

一些可能性包括:

Sys.info()["machine"] == "x86-64"
.Platform$r_arch == "x64"
version$arch == "x86_64"

有什么理由比另一种方法更喜欢一种方法吗?

相关:检测 R 中的操作系统(例如,用于自适应 .Rprofile 文件)

4

1 回答 1

12

实际上,这些方法都不是规范的,我认为这意味着“Brian Ripley 会怎么说”。尝试这个:

?.Machine

sizeof.pointer........ C SEXP 类型中的字节数。在 32 位版本上为 4,在 R 的 64 位版本上为 8。

 64bit <- .Machine$sizeof.pointer == 8
 64bit
 #[1] TRUE

至于你的提名,只有一个在我的机器上返回 TRUE:

> Sys.info()["machine"] == "x86-64"
machine 
  FALSE 
> .Platform$r_arch == "x64"
[1] FALSE
> version$arch == "x86_64"
[1] TRUE
于 2012-06-22T15:37:33.053 回答