내 응용 프로그램의 휴대용 구현하고 싶습니다. 그러나 특정 컴퓨터의 stdlib에서 printf에 문제가 있다는 것을 들었습니다. 의도 한대로 작동하지 않습니다. 예를 들어 변환 지정자 % f를 사용하면 특정 아키텍처에서 printf 구현 에 출력에 소수점이 포함될 수 있습니다!테스트 printf 구현
stdlib C 구현의 의미 적 정확성을 테스트하는 데 사용할 수있는 테스트 루틴이 있다면 어쩌면 궁금합니다. 특히 printf 루틴입니다. 어쩌면 프로그램을 이식 할 때 몇 가지 문제점을 지적하는 좋은 자료가 있을까요?
많은 감사, 하인즈
? IMO는 이식성보다 l10n과 더 관련이 있습니다. –
테스트 용으로 사용하면 기본적으로 다른 플랫폼에서 다른 출력을 얻습니다. 이것은 값 자체가 같더라도 소수점으로 인해 테스트가 실패 할 수 있음을 의미 할 수 있습니다. –
@Heinz, 테스트 코드에서 로캘을 "C"로 설정할 수 있습니다 (예 : setlocale (LC_NUMERICAL, "C")). 이것은 쉼표 또는 다른 것이 아닌 항상 소수점을 출력해야합니다. – quinmars