RealView® Compilation Tools 라이브러리 및 부동 소수점 지원 설명서

버전 4.0


Table of Contents

서문
설명서 정보
대상 독자
설명서 사용
표기 규칙
추가 정보
사용자 의견
RealView Compilation Tools에 대한 사용자 의견
설명서에 대한 사용자 의견
1. 소개
1.1. 런타임 라이브러리 정보
1.1.1. ABI for the ARM Architecture 규격 준수
1.1.2. 라이브러리 디렉토리 구조
1.1.3. 빌드 옵션 및 라이브러리 변형
1.1.4. VFP 지원 라이브러리 사용
1.1.5. Thumb C 라이브러리
1.2. 부동 소수점 지원 정보
2. C 및 C++ 라이브러리
2.1. C 및 C++ 라이브러리 정보
2.1.1. C 및 C++ 라이브러리의 기능
2.1.2. 네임스페이스
2.2. 재진입 및 스레드 안전성 코드 작성
2.2.1. 재진입 및 스레드 안전성 소개
2.2.2. C 라이브러리에서 정적 데이터 사용
2.2.3. __user_libspace 정적 데이터 영역
2.2.4. 다중 스레드 응용 프로그램의 잠금 관리
2.2.5. 다중 스레드 응용 프로그램과 함께 ARM C 라이브러리 사용
2.2.6. ARM C 라이브러리의 스레드 안전성
2.2.7. ARM C++ 라이브러리의 스레드 안전성
2.3. C 라이브러리로 응용 프로그램 빌드
2.3.1. 라이브러리를 응용 프로그램과 함께 사용
2.3.2. 세미호스팅된 환경을 위한 응용 프로그램 빌드
2.3.3. 세미호스팅되지 않은 환경에 대한 응용 프로그램 빌드
2.4. C 라이브러리 없이 응용 프로그램 빌드
2.4.1. 정수 및 부동 소수점 도우미 함수
2.4.2. 베어 시스템 정수 C
2.4.3. 부동 소수점을 사용하는 베어 시스템 C
2.4.4. C 라이브러리 사용
2.4.5. 독립 실행형 C 라이브러리 함수
2.5. 새로운 실행 환경에 맞게 C 라이브러리 조정
2.5.1. C 및 C++ 프로그램의 세미호스팅 함수 사용법
2.5.2. __rt_entry
2.5.3. 프로그램에서 종료
2.5.4. __rt_exit()
2.5.5. __rt_lib_init()
2.5.6. __rt_lib_shutdown()
2.6. 정적 데이터 액세스 조정
2.7. 어셈블러 매크로를 사용하여 로케일 및 CTYPE 조정
2.7.1. 링크 타임 시 로케일 선택
2.7.2. 런타임 시 로케일 선택
2.7.3. 로케일 블록 정의
2.7.4. LC_CTYPE 데이터 블록
2.7.5. LC_COLLATE 데이터 블록
2.7.6. LC_MONETARY 데이터 블록
2.7.7. LC_NUMERIC 데이터 블록
2.7.8. LC_TIME 데이터 블록
2.7.9. _get_lconv()
2.7.10. localeconv()
2.7.11. setlocale()
2.7.12. _findlocale()
2.7.13. lconv 구조체
2.8. 오류 신호, 오류 처리 및 프로그램 종료 조정
2.8.1. _sys_exit()
2.8.2. errno
2.8.3. __rt_errno_addr()
2.8.4. __raise()
2.8.5. __rt_raise()
2.8.6. __default_signal_handler()
2.8.7. _ttywrch()
2.8.8. __rt_fp_status_addr()
2.9. 스토리지 관리 조정
2.9.1. ARM에서 제공되는 힙 및 힙 사용 함수 사용 안 함
2.9.2. malloc에 대한 지원
2.10. 런타임 메모리 모델 조정
2.10.1. 메모리 모델
2.10.2. 런타임 메모리 모델 제어
2.10.3. 자체 메모리 모델 작성
2.10.4. __user_setup_stackheap()
2.10.5. __user_initial_stackheap()
2.10.6. __user_heap_extend()
2.10.7. __user_heap_extent()
2.10.8. __rt_stackheap_init()
2.10.9. __rt_heap_extend()
2.11. 입력/출력 함수 조정
2.11.1. 하위 수준 함수에 대한 종속성
2.11.2. 타겟 종속 입력/출력 지원 함수
2.11.3. _sys_open()
2.11.4. _sys_close()
2.11.5. _sys_read()
2.11.6. _sys_write()
2.11.7. _sys_ensure()
2.11.8. _sys_flen()
2.11.9. _sys_seek()
2.11.10. _sys_istty()
2.11.11. _sys_tmpnam()
2.11.12. _sys_command_string()
2.11.13. #pragma import(_main_redirection)
2.12. 기타 C 라이브러리 함수 조정
2.12.1. clock()
2.12.2. _clock_init()
2.12.3. time()
2.12.4. remove()
2.12.5. rename()
2.12.6. system()
2.12.7. getenv()
2.12.8. _getenv_init()
2.13. 실시간 나누기 선택
2.14. ISO 구현 정의
2.14.1. ISO C 라이브러리 구현 정의
2.14.2. 표준 C++ 라이브러리 구현 정의
2.15. C 라이브러리 확장
2.15.1. atoll()
2.15.2. strtoll()
2.15.3. strtoull()
2.15.4. printf()
2.15.5. snprintf()
2.15.6. vsnprintf()
2.15.7. lldiv()
2.15.8. llabs()
2.15.9. wcstombs()
2.15.10. alloca()
2.15.11. strlcpy()
2.15.12. strlcat()
2.15.13. _fisatty()
2.15.14. __heapstats()
2.15.15. __heapvalid()
2.16. 라이브러리 명명 규칙
2.16.1. ARM 라이브러리 배치
2.16.2. 도우미 함수
2.16.3. 라이브러리 변형 식별
3. C 마이크로 라이브러리
3.1. microlib 정보
3.1.1. 기본 C 라이브러리와의 차이점
3.2. microlib로 응용 프로그램 빌드
3.3. microlib 사용
3.3.1. 스택 만들기
3.3.2. 힙 만들기
3.3.3. 프로그램 시작 및 종료
3.4. microlib 입/출력 함수 수정작업
3.5. microlib에 없는 ISO C 기능
4. 부동 소수점 지원
4.1. 소프트웨어 부동 소수점 라이브러리 fplib
4.1.1. fplib(부동 소수점 라이브러리)의 기능
4.1.2. 특정 형식의 숫자에 대한 산술
4.1.3. float, double 및 int 간 변환
4.1.4. long long과 기타 숫자 형식 간의 변환
4.1.5. 부동 소수점 비교
4.1.6. C99 함수
4.2. 부동 소수점 환경 제어
4.2.1. __ieee_status()
4.2.2. __fp_status()
4.2.3. Microsoft 호환 함수
4.2.4. C99 호환 함수
4.2.5. ARM 컴파일러 C99 인터페이스 확장
4.3. 수학 라이브러리 mathlib
4.3.1. Mathlib의 범위 축소
4.3.2. 부동 소수점 숫자의 유형 판단(fpclassify)
4.3.3. 숫자가 유한 값인지 판단(isfinite)
4.3.4. 숫자가 무한대인지 판단(isinf)
4.3.5. 숫자가 NaN인지 판단(isnan)
4.3.6. 숫자가 표준 값인지 판단(isnormal)
4.3.7. 숫자의 부호 비트 반환(signbit)
4.3.8. 부호 함수 복사 (copysign, copysignf)
4.3.9. 비교 매크로 (isgreater, isgreaterequal, isless, islessequal, islessgreater, isunordered)
4.3.10. 역쌍곡선 함수(acosh, asinh, atanh)
4.3.11. 세제곱근(cbrt)
4.3.12. 오류 함수(erf, erfc)
4.3.13. exp(x)보다 1 작음(expm1)
4.3.14. 감마 함수(gamma, gamma_r)
4.3.15. 사변 함수(hypot)
4.3.16. 제1종 베셀 함수(j0, j1, jn)
4.3.17. 감마 함수의 로그
4.3.18. x보다 1 많은 로그(log1p)
4.3.19. IEEE 754 나머지 함수(remainder)
4.3.20. IEEE 정수로 반올림 연산(rint)
4.3.21. 숫자의 분수 부분 반환(significand)
4.3.22. 제2종 베셀 함수(y0, y1, yn)
4.4. IEEE 754 산술
4.4.1. 기본 데이터 유형
4.4.2. 산술과 반올림
4.4.3. 예외

소유권 고지 사항

이 소유권 고지 사항의 아랫부분에서 달리 명시되지 않는 한 ® 또는 ™ 표시가 있는 단어와 로고는 EU, 대한민국 및 기타 국가에서 ARM Limited의 등록 상표 또는 상표입니다. 이 설명서에 언급된 기타 브랜드와 이름은 해당 소유자의 상표일 수 있습니다.

이 설명서에 포함된 전체 또는 일부 정보나 설명된 제품은 해당 저작권 소유자의 사전 서면 승인 없이는 어떤 형태로도 개조되거나 복제될 수 없습니다.

이 설명서에 설명된 제품은 지속적으로 개발 및 개선될 수 있습니다. 이 설명서에 포함된 모든 제품 명세와 해당 사용법은 ARM의 신뢰하에 제공됩니다. 그러나 ARM에서는 상품성 또는 특정 목적에의 적합성을 비롯하여 그 밖의 묵시적이거나 명시적인 모든 보증을 부인합니다.

이 설명서는 제품 사용자를 지원하는 용도로만 만들어졌습니다. ARM은 이 설명서 정보의 사용, 정보의 오류나 누락 또는 제품의 잘못된 사용에 따른 어떠한 손실이나 손상도 책임지지 않습니다.

ARM이라는 단어가 사용되는 경우 "ARM이나 해당하는 자회사"를 의미합니다.

기밀 상태

이 설명서는 기밀 문서가 아닙니다. 이 설명서의 사용, 복사 및 공개 권한은 ARM과 설명서 사용 당사자의 동의하에 라이센스 제한을 받습니다.

액세스 제한 없음은 ARM의 내부 분류입니다.

제품 상태

이 설명서의 정보는 개발이 완료된 제품에 대한 최종 정보입니다.

Revision History
Revision A2007년 3월RealView Development Suite 버전 3.1용 릴리스 3.1
Revision B2008년 9월RealView Development Suite 버전 4.0용 릴리스 4.0
Copyright © 2007-2008 ARM Limited. All rights reserved.ARM DUI 0349BK
Non-Confidential