Как проверить, является ли моя ОС 64-разрядной или 32-разрядной?

Что состоит в том, чтобы определить лучший способ, является ли моя ОС 64-разрядной или 32-разрядной?

Предположите, что, я непосредственно на некоторой OS и я собираюсь установить программное обеспечение на нем. Но как определить, является ли ОС 32-разрядной или 64-разрядной,

ОС может быть чем-либо, как

  • Windows XP
  • перспектива
  • окна 7
  • OS x леопард
  • OS x снежный барс
  • Красная шляпа Linux

То, что я имею в виду, - что состоит в том, чтобы определить лучший и распространенный способ, является ли OS 64-разрядной или 32-разрядной? Я имею в виду, говорю я в целом. Я не установил OS на чьей-то машине и если я говорю Вам определять ее основу ОС - 64 или 32? затем, что Вы сделали бы?

Заранее спасибо за то, что поделились Вашими знаниями. Сахар.

9
задан 21.09.2016, 10:27

5 ответов

Во многих подобных Unix системах можно ввести:

uname -a

Для FreeBSD это похоже:

FreeBSD whiplash 8.0-STABLE FreeBSD 8.0-STABLE #1: 
Tue Mar  9 15:38:19 CET 2010     root@beast:/usr/obj/usr/src/sys/WHIPLASH  amd64

(amd64 означает, что это ядро является 64-разрядным),

Для Linux:

Linux softy.vm 2.6.18-128.el5 #1 SMP 
Wed Jan 21 10:44:23 EST 2009 i686 athlon i386 GNU/Linux

(i386 означает, что это ядро является 32-разрядным),

Для MacOSX:

Darwin iMac.local 10.0.0 Darwin Kernel Version 10.0.0: Fri Jul 31 22:47:34 PDT 2009;
root:xnu 1456.1.25~1/RELEASE_X86_64 x86_64

(x86_64 означает, что это ядро является 64-разрядным),

5
ответ дан 07.12.2019, 13:12

Если бы необходимо было сделать какие-либо действия с помощью сценариев CMD в Windows, то Вы могли бы запустить пакетный файл что-то вроде этого:

@echo off

if %PROCESSOR_ARCHITECTURE% == x86 (
goto :x86
) else (
goto :x64
)

:x86
start "foo.exe"
goto :eof

:x64
start "bar.exe"
goto :eof
7
ответ дан 07.12.2019, 13:12

В соответствии с Windows:

GUI путь

  1. Нажмите Win+R для открытия Run... Диалоговое окно
  2. Введите winmsd
  3. Ищите тип Процессора или Системы строки

Если они начинают с x86, Вы имеете 32-разрядный иначе, Вы имеете 64-разрядный

Использование cmd.exe
Войти SET PROCESSOR_ARCHITECTURE
32-разрядные средства x86, иначе это является 64-разрядным

Использование Powershell
Войти $env:PROCESSOR_ARCHITECTURE
Значение совпадает с с использованием cmd.exe

Остерегайтесь
Существует два различных типов 64-разрядной архитектуры.
Каждый - AMD64 для x64 другой, ia64 для Itanium (не уверенный, что это значение точно похоже на это, никогда не работал ни с одним из них),

3
ответ дан 07.12.2019, 13:12

Глупые пути к Linux:

  1. Определить ядро, кошка/proc/kallsyms, проверка, 32 ли символы для ядра бита шириной или 64 бита шириной. Затем Вы будете знать, что ядро составляет 32 бита или 64 бита.

  2. Для пользовательского приложения, просто запущенного: $file/bin/ls, Чтобы проверить, является ли команда ls 32 битами или 64 битами, начиная с OS, может содержать и приложения на 64 бита и на 32 бита, это не может быть неправильно.

2
ответ дан 07.12.2019, 13:12

@paradroid - Спасибо за мозговой штурм ^^

Я теперь использую это для программы Java, которую я распределяю который пользователи Windows потребностей использовать javac. Этот сценарий проверяет их архитектуру и открывает загрузку для нужной версии JDK в их браузере по умолчанию...

@echo off

Title Dragon's JDK Downloader - Runedev Script Compiler

goto menu
:menu
echo.
echo What would you like to do?
echo.
echo 1. Download JDK?
echo 2. Compile Scripts?
echo 3. Quit
echo.

:choice
set /P C=1,2,3?
if "%C%"=="3" goto quit
if "%C%"=="2" goto compile
if "%C%"=="1" goto download
goto choice

:download
if %PROCESSOR_ARCHITECTURE% == x86 (
goto :x86
) else (
goto :x64
)

:x86
START http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u23-windows-i586.exe?BundledLineItemUUID=q9.J_hCupJ8AAAEsXThZDfyg&OrderID=zHCJ_hCujC0AAAEsUjhZDfyg&ProductID=_omJ_hCwMp4AAAEsQIMcKluK&FileName=/jdk-6u23-windows-i586.exe
goto :eof

:x64
START http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u23-windows-x64.exe?BundledLineItemUUID=CMyJ_hCu.vEAAAEsWu9ZDfyf&OrderID=RZ.J_hCuAVkAAAEsUO9ZDfyf&ProductID=ZUuJ_hCwEmwAAAEsOoMcKluK&FileName=/jdk-6u23-windows-x64.exe
goto :eof

:compile
SET cc=javac
SET cflags=
SET scripts=Scripts
SET scriptspre=%scripts%\Precompiled
SET jarpathfile=Settings\path.txt

IF NOT EXIST "%jarpathfile%" (
   ECHO Path file does not exist. Please run Runedev and try again.
   GOTO menu
)

FOR /F "delims=" %%G IN (%jarpathfile%) DO SET jarpath=%%G

CALL FindJDK.bat

IF NOT EXIST %scripts%\*.java (
   ECHO No .java script source files found.
   GOTO menu
)

ECHO Compiling scripts
ECHO. > "%scripts%\.class"
DEL /F /Q "%scripts%\*.class" > NUL
"%cc%" %cflags% -cp "%jarpath%" %scripts%\*.java

:end
PAUSE
EXIT

:quit
exit
:end
2
ответ дан 07.12.2019, 13:12

Теги

Похожие вопросы