Тема
|
Как да проверя дали машината ми е 64 или 32 бита
|
|
Автор | Mapийka (Нерегистриран) |
Публикувано | 02.06.05 12:15 |
|
Здравейте,
Как да си напиша скрипт, който проверява дали машината ми е 64 или 32 битова?
Мерси
|
|
Тема
|
Re: Как да проверя дали машината ми е 64 или 32 бита
[re: Mapийka]
|
|
Автор |
Goose () |
Публикувано | 02.06.05 13:56 |
|
А за каква ОС поне не можеш ли да кажеш? Защото щат за врачки не отпускат ...
|
|
Тема
|
Re: Как да проверя дали машината ми е 64 или 32 би
[re: Goose]
|
|
Автор | Mapийka (Нерегистриран) |
Публикувано | 02.06.05 15:07 |
|
Ми нали форума е за Unix бе Злато, едва ли ще поствам тук въпросчета за Windows. Нека все пак да уточня Bourne shell script!
|
|
Тема
|
Re: Как да проверя дали машината ми е 64 или 32 би
[re: Mapийka]
|
|
Автор |
^] (escapist...) |
Публикувано | 02.06.05 17:03 |
|
name=`sysctl -a | grep hostname | cut -d= -f2`
if [ `uname -p | grep x86_64 | wc -l` == "1" ];
then
echo "$name is 64 bit"
fi
Примерно.
Нанайси нема стане.
|
|
Тема
|
Re: Как да проверя дали машината ми е 64 или 32 би
[re: Mapийka]
|
|
Автор |
Goose () |
Публикувано | 02.06.05 18:23 |
|
Хех, щом за теб има само един UNIX няма проблеми ;-) Щото при мен работят поне 3 различни ... дет нямат много общо освен основните команди помежду си ;-)
P.S.
if [ `lscfg -pv | grep PowerPC | grep RS | grep 64` != "0" ];
then
echo "64 bit"
fi Редактирано от Goose на 02.06.05 18:35.
|
|
Тема
|
Re: Как да проверя дали машината ми е 64 или 32 би
[re: ^]]
|
|
Автор |
Goose () |
Публикувано | 02.06.05 18:37 |
|
# uname -p
uname: Not a recognized flag: p
Usage: uname [-snlrvmaxuMS:T:]
#
:-PPP
|
|
Тема
|
Re: Как да проверя дали машината ми е 64 или 32 би
[re: Goose]
|
|
Автор |
^] (escapist...) |
Публикувано | 02.06.05 18:49 |
|
Така става като ме хване мързела да се логна на бсд-то.
Нанайси нема стане.
|
|
Тема
|
Re: Как да проверя дали машината ми е 64 или 32 би
[re: ^]]
|
|
Автор |
Goose () |
Публикувано | 02.06.05 18:57 |
|
Че кой ти е казал, че тва е на БСД?
# uname -a
AIX titan 3 4 005673DA4C00
|
|
Тема
|
Re: Как да проверя дали машината ми е 64 или 32 би
[re: Goose]
|
|
Автор |
^] (escapist...) |
Публикувано | 03.06.05 18:05 |
|
Никой разбира се, просто такова имам "под ръка", или буквално, "под краката".
Нанайси нема стане.
|
|
Тема
|
Re: Как да проверя дали машината ми е 64 или 32 би
[re: Mapийka]
|
|
Автор | мopaв (Нерегистриран) |
Публикувано | 05.06.05 19:36 |
|
Какъв е процесора?
|
|
Тема
|
Re: Как да проверя дали машината ми е 64 или 32 бита
[re: Mapийka]
|
|
Автор |
~!@$%amp;^*()_+ (целия горен ред) |
Публикувано | 07.06.05 03:33 |
|
напиши си програмка на c
int main()
{
int i = 0x80000000;
i <<= 1;
return (i != 0);
}
по с стандарт int е с дължината на машинната дума.
не че не съм виждал отклонения от стандарта де.
|
|
Тема
|
Re: И от мен нещо
[re: ~!@$%amp;^*()_+]
|
|
Автор | мopaв (Нерегистриран) |
Публикувано | 07.06.05 18:02 |
|
То вече ме фаща срам само да питам:). Та и аз да дам нещо на клуба...
#include <stdio.h>
void main()
{
printf("%u bits", sizeof(int) * 8);
}
//Твоя вариант ми харесва повече:) и е по-коректен!
|
|
|
ами със sizeof, също би трябвало да е ок, само, че доколкото искат да го използват в скрипт, според мен е по-добре да втрща стойност, отколкото да отпечатва нещо
|
|
Тема
|
Re: И от мен нещо
[re: ~!@$%amp;^*()_+]
|
|
Автор | мopaв (Нерегистриран) |
Публикувано | 07.06.05 19:49 |
|
При моя вариант всички свършва на ниво компилация. Тогава sizeof се засича и няма мърдане. Ако програмката не се прекомпилира за всяка система , може на 128 битова машина да връща като нищо 8 бита. Твоя вариант сякаш заобикаля това , понеже решение се взима в процеса на работа. Това е добре , ама се чудя ако се билдне за 32 бита машина. То тогава нека е интелска. ще се се ползва eax и за i64 пак няма да сработи! Също ако се построи изпълним файл на/през 16 битов компилатор и се пусне на 32/64 битова машина. Това понеже той най-много да ползва ax за регистър. Почвам да си мисля , че тази задачка не е тривиална:) Вероятно трябва да се разпизнае процесора , после през flags/eflags да се засече по някой флаг , или направо да се пита OS. Windows-a я дава тази информация и FreeBSD някак трябва да я връща.
|
|
|
не
и при моя вариант трябва да се прекомпилира за всяка система.
ако се пусне на друга система, ако изобщо работи, ще работи в режим на емулация и ще връща същото.
|
|
Тема
|
Re: Как да проверя дали машината ми е 64 или 32 бита
[re: Mapийka]
|
|
Автор |
DrFrancky (Keen on Yelling) |
Публикувано | 07.06.05 22:13 |
|
uname -m
DrFrancky
|
|
|
давате сорса и в скрипта вкарвате един сс сорс.с. и на двамата проблема ви се решава.
аз мислех да дам програма, дето алокира >4 гб рам, ама реших че при този въпрос, може и да го направи, та се отказах.
|
|
Тема
|
Re: Как да проверя дали машината ми е 64 или 32 би
[re: Goose]
|
|
Автор | boncho (Нерегистриран) |
Публикувано | 10.07.05 15:13 |
|
кое те кара да мисли, че всички powerpc-та за 64 битови?:))
|
|
Тема
|
Re: Как да проверя дали машината ми е 64 или 32 би
[re: boncho]
|
|
Автор |
Labrett (огледало) |
Публикувано | 11.07.05 19:16 |
|
Прочети по-внимателно редчето с grep-a
Вярвам, че другите се държат с мен така, както искат аз да се държа с тях
|
|