10.07.2015 Views

PDF version - ARM Information Center

PDF version - ARM Information Center

PDF version - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C, C++ 및 어셈블리 언어 조합4.4 C, C++ 및 <strong>ARM</strong> 어셈블리 언어 간 호출이 단원에서는 C++에서 C 및 어셈블리 언어 코드를 호출하고 C 및 어셈블리 언어에서 C++ 코드를 호출하는 방법을 보여 주는 예제를 제공합니다. 다음을 비롯한 호출 규칙 및 데이터 유형에 대해서도 설명합니다.AAPCS (Procedure Call Standard for the <strong>ARM</strong> Architecture) 를 준수할 경우 C/C++및 어셈블리 언어 루틴 간의 호출을 조합할 수 있습니다. 자세한 내용은install_directory\Documentation\Specifications\...에 있는 AAPCS 사양(aapcs.pdf) 을 참조하십시오.참고이 단원의 내용은 구현 방식에 따라 달라지며 이후 릴리스에서 변경될 수 있습니다.4.4.1 언어 간 호출을 위한 일반적인 규칙C, C++ 및 어셈블리 언어 간의 호출에는 다음과 같은 일반적인 규칙이 적용됩니다. 자세한 내용은 컴파일러 사용 설명서를 참조하십시오.임베디드 어셈블러를 사용하고 BSABI (<strong>ARM</strong> 아키텍처용 기본 표준 응용 프로그램 바이너리 인터페이스) 를 준수하면 조합 언어 프로그래밍을 보다 쉽게 구현할수 있습니다. 이를 통해 다음 사항과 관련된 작업을 쉽게 수행할 수 있습니다.• __cpp 키워드를 사용한 이름 자르기• 암시적 this 매개변수가 전달되는 방식• 가상 함수가 호출되는 방식• 참조 표현• 기본 클래스 또는 가상 구성원 함수가 있는 C++ 클래스 유형의 레이아웃• PODS (기존의 일반 데이터 구조체) 가 아닌 클래스 객체 전달조합 언어 프로그래밍에는 다음과 같은 일반적인 규칙이 적용됩니다.• C 호출 규칙을 사용합니다.• C++에서 비멤버 함수를 extern "C"로 선언하여 C 연결을 포함하도록 지정할 수 있습니다. 이번 릴리스의 RealView Compilation Tools에서 C 연결을포함한다는 것은 함수를 정의하는기호가 잘리지 않는다는 것을 의미합니다. C 연결을 사용하면 함수를 한 언어로 구현한 후 다른 언어에서 호출할수 있습니다.<strong>ARM</strong> DUI 0203IK Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. 4-7Unrestricted AccessNon-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!