2009-09-03 4 views
10

이 이상한 비단뱀 동작이 발생할 수 있습니까?ARM CPU가있는 컴퓨터에서 기묘한 비단뱀 동작

Python 2.6.2 (r262:71600, May 31 2009, 03:55:41) 
[GCC 3.3.4] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> .1 
1251938906.2350719 
>>> .1 
0.23507189750671387 
>>> .1 
0.0 
>>> .1 
-1073741823.0 
>>> .1 
-1073741823.0 
>>> .1 
-1073741823.0 
>>> 

0.1, 0.5는, 5.1는, 0.0는 등 정수가 제대로 다시 나 한테 에코됩니다에 대한 동일한 출력을 제공하지만, 소수점 아무것도 나에게 미친 번호를 제공합니다.

이것은 ARM 용으로 컴파일 된 Python 바이너리이며 Synology DiskStation 101j에서 Optware을 통해 설치됩니다.

누구나 전에 본 것과 같은 사람이 있습니까?

+0

나는 전에 그것을 보지 못했다. 실제로 그것은 괴상하다! – Mohamed

+0

매우 외쳤다! 어떻게 된거 야? – Xolve

+0

Optware 홈페이지를 확인하십시오. 나는 fp lib로 Perl 문제에 대한 기사를 발견했다. – zxcat

답변

8

아마도 VFP 버전으로 컴파일되었습니다.

또는 ARM에는 VFP가 없으므로 대신 소프트웨어 에뮬레이션을 사용해야하지만 python 바이너리는 하드웨어를 사용하려고합니다.


편집

인텔 엑스 스케일 (armv5b) (link)입니다 FW IXP420 BB CPU에 귀하의 DS-101j 빌드. 하드웨어 부동 소수점 지원이 없습니다. 그리고 armv5b의 "b"는 Big Endian을 나타냅니다. gcc는 기본적으로 리틀 엔디안 코드를 생성하기 때문에 일부 사람들은 빌드 문제가 있습니다. 어쩌면 이것이 FP lib 소프트웨어의 문제 일 것입니다. 자세한 내용은 this search을 확인하십시오.

0

zxcat이 말했듯이, 하드웨어 부동 소수점과 버스트 된 soft-float 라이브러리가없는 ARM에서 실행되는 것처럼 들립니다. 빠른 검색으로 인해 ARM 변형이 DS101j에 나타나지 않았습니다. 아무도 몰라?

+0

잘 모르겠지만 NAS 상자에 하드웨어 FP가 보이지 않을 것입니다. – bobince

+3

솔루션에 대한 의견을 보내고 싶다면 새로운 솔루션이 아닌 의견을 추가하십시오. –