2010-05-24 6 views

답변

5

section 8.6 of Gough's Introduction to GCC은 x86 FLDCW 명령어를 보여줍니다. 하지만 필요한 이유를 알려 주시면 도움이됩니다. 복식이 IEEE-754 64 비트 복식이되도록하려면 가장 쉬운 방법은 -msse -mfpmath = sse를 사용하여 컴파일하는 것입니다.

1

어떤 정밀 요소를 제어하고 있습니까? Microsoft's Website 따르면

:

_control87 함수 얻고 부동 소수점 제어 워드를 설정한다. 부동 소수점 제어 워드를 사용하면 프로그램에서 부동 소수점 수학 패키지의 정밀도, 반올림 및 무한대 모드를 변경할 수 있습니다. _control87을 사용하여 부동 소수점 예외를 마스크하거나 마스크 해제 할 수도 있습니다. mask 값이 0이면 _control87은 부동 소수점 제어 단어를 가져옵니다. 마스크가 0이 아니면, 제어 워드에 대한 새로운 값이 설정됩니다 : 마스크에서 켜져있는 (1과 같은) 모든 비트에 대해 new의 해당 비트가 제어 단어를 업데이트하는 데 사용됩니다. 즉, fpcntrl = ((fpcntrl & ~mask) | (new & mask)) 여기서 fpcntrl은 부동 소수점 제어 단어입니다.

키워드 "라이브러리"에 유의하십시오. 이 함수는 라이브러리를 조작합니다.이 라이브러리는 Mac에 없을 수 있습니다.

나는 다음과 같은 제안 :

  1. 제어 의 부동 소수점 칩 맥 자신
  2. 또는 맥
  3. 에 대한 마이크로 소프트 컴파일러를 사용하거나하는 부동 소수점 컨트롤을 이동하는 방법을 찾을 수 귀하의 프로그램에 더 많은 일반 지점.

내가 줄 수있는 최선의 조언은 표준 및 플랫폼 또는 라이브러리 관련 문제를 최대한 줄인 상태로 유지하는 것입니다. 플랫폼 특정 기능을 포함하는 기능의 경우 해당 기능을 자체 소스 파일/번역 단위로 옮깁니다. 이러한 기능의 사본을 각 플랫폼에 대해 하나씩 작성하십시오. 링커가 사용할 사람을 결정하도록하십시오.

행운을 비네.