Intel C++ 8.0 for Linux | _Z1hi | _Z1hic | _Z1hv |
HP aC++ A.05.55 IA-64 | |||
IAR EWARM C++ | |||
GCC 3.x and higher | |||
Clang 1.x and higher[3] | |||
GCC 2.9.x | h__Fi | h__Fic | h__Fv |
HP aC++ A.03.45 PA-RISC | |||
Microsoft Visual C++ v6-v10 (mangling details) | ?h@@YAXH@Z | ?h@@YAXHD@Z | ?h@@YAXXZ |
Digital Mars C++ | |||
Borland C++ v3.1 | @h$qi | @h$qizc | @h$qv |
OpenVMS C++ v6.5 (ARM mode) | H__XI | H__XIC | H__XV |
OpenVMS C++ v6.5 (ANSI mode) | CXX$__7H__FIC26CDH77 | CXX$__7H__FV2CB06E8 | |
OpenVMS C++ X7.1 IA-64 | CXX$_Z1HI2DSQ26A | CXX$_Z1HIC2NP3LI4 | CXX$_Z1HV0BCA19V |
SunPro CC | __1cBh6Fi_v_ | __1cBh6Fic_v_ | __1cBh6F_v_ |
Tru64 C++ v6.5 (ARM mode) | h__Xi | h__Xic | h__Xv |
Tru64 C++ v6.5 (ANSI mode) | __7h__Fi | __7h__Fic | __7h__Fv |
Watcom C++ 10.6 | W?h$n(i)v | W?h$n(ia)v | W?h$n()v |
Embedded ABI
EABI( 임베디드 애플리케이션 바이너리 인터페이스 )는 임베디드 운영 체제 와 함께 사용하기 위한 파일 형식 , 데이터 유형, 레지스터 사용, 스택 프레임 구성 및 임베디드 소프트웨어 프로그램 의 기능 매개변수 전달에 대한 표준 규칙을 지정합니다 .
EABI를 지원하는 컴파일러는 다른 컴파일러에서 생성된 코드와 호환되는 개체 코드를 생성하므로 개발자는 한 컴파일러로 생성된 라이브러리를 다른 컴파일러로 생성된 개체 코드와 연결할 수 있습니다. 자체 어셈블리 언어 코드를 작성하는 개발자는 호환 컴파일러에서 생성된 어셈블리와 인터페이스할 수도 있습니다.
EABI는 임베디드 시스템의 제한된 리소스 내에서 성능을 최적화하도록 설계되었습니다. 따라서 EABI는 복잡한 운영 체제에서 커널과 사용자 코드 간에 이루어지는 대부분의 추상화를 생략합니다. 예를 들어, 더 작은 실행 파일과 더 빠른 로딩을 허용하기 위해 동적 연결을 피할 수 있으며, 고정된 레지스터 사용을 통해 더 컴팩트한 스택과 커널 호출을 허용하고, 권한 있는 모드에서 응용 프로그램을 실행하면 장치 드라이버를 호출하는 간접적인 작업 없이 사용자 지정 하드웨어 작업에 직접 액세스할 수 있습니다. EABI의 선택은 성능에 영향을 미칠 수 있습니다.
널리 사용되는 EABI에는 PowerPC , Arm EABI 및 MIPS EABI가 포함됩니다. C 라이브러리와 같은 특정 소프트웨어 구현은 보다 구체적인 ABI를 형성하기 위해 추가적인 제한을 부과할 수 있습니다. 한 가지 예는 ARM용 GNU OABI 및 EABI이며 둘 다 ARM EABI의 하위 집합입니다.
Link: en.wikipedia.org
An embedded-application binary interface (EABI) specifies standard conventions for file formats, data types, register usage, stack frame organization, and function parameter passing of an embedded software program.
'개발 Note > UI Framework 개발하기' 카테고리의 다른 글
key - value 관리 (0) | 2011.06.08 |
---|---|
[애자일] 릴리즈 계획 과정에서 가장 중요한 것들 (0) | 2010.10.29 |
Conway’s Law - 조직과 소프트웨어 (0) | 2010.06.01 |
[에자일]불확실성과 화해하는 프로젝트 추정과 계획 (0) | 2009.07.24 |
Touch Phone , 그리고 디자인 배끼기..?? ,Mobile Platform. (0) | 2009.03.20 |