최근에 FPU 스택 오버 플로우 문제가 발생했습니다. 필자는 불필요한 라이브러리 함수를 추적하여 그 불필요한 값을 FPU 스택에 푸시 (push)하여 매번 호출하고 결코 정리하지 못하게합니다.FPU 스택에서 무언가를 제거하는 가장 간단한 방법
다행히도 이것은 쉽게 재현 할 수 있으며 어떤 조건으로 인해 발생하는지 정확하게 알고 있습니다. FPU 스택에서 최상위 값을 다시 팝하는 루틴을 호출하는 루틴에 인라인 ASM 블록을 드롭 할 수 있습니다. 필자는 작성할 내용을 모르는 경우를 제외하고는. 내 ASM-fu는 middlin에게는 공평하지만 은이 아닙니다.
그렇다면 가비지 데이터를 가정하고 값을 신경 쓰지 않는다고 가정하면 x86 어셈블리의 FPU 스택에서 가장 높은 값을 제거하는 가장 간단한 방법은 무엇입니까?
오른쪽 당신은, @Shaggieh, 내 뚱뚱한 손가락을 마셔. 결정된. – paxdiablo
그게 효과가 있어요. 감사! –
@Shaggieh : 그렇습니다.하지만 똑같은 대답으로 두 번 오류가 발생하는 것은 부주의합니다 .-- 다시 한번 고정되어 있습니다. 건배. – paxdiablo