2012-06-22 46 views
11

一些可能性包括:在R中,檢測OS是否爲64位的標準方法是什麼?

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

是否有任何理由,更喜歡一個方法比另一個?

相關:detecting operating system in R (e.g. for adaptive .Rprofile files)

+0

我相信那些將所有至少PowerPC和Itanium 64位體系結構失敗。對於大多數架構來說''grep'ing'.Platform $ r_arch'可能適用於大多數架構,但是爲什麼當迪文提供了答案時呢。 – jthetzel

+0

對於Solaris構建可能也會失敗。 –

回答

12

其實沒有這些方法將是規範的,這是我採取的意思是「你會布賴恩·裏普利說」。試試這個:

?.Machine 

sizeof.pointer ........一個C SEXP類型的字節數。將4對32位構建和8在64位構建R.

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 
相關問題