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++ 및 어셈블리 언어 조합참고extern "C"로 선언된 함수는 오버로드할 수 없습니다.• 어셈블리 언어 모듈은 응용 프로그램에서 사용하는 메모리 모듈에 적절한AAPCS 표준을 준수해야 합니다.C 및 어셈블리 언어에서 C++ 함수를 호출하는 데는 다음 규칙이 적용됩니다.• 전역 (비 구성원) C++ 함수를 호출하려면 해당 함수를 extern "C"로 선언하여 함수에 C 링키지를 지정합니다.• 구성원 함수 (정적 및 비정적 함수 모두 포함) 에는 항상 잘린 이름이 있습니다. 임베디드 어셈블러의 __cpp 키워드를 사용하면 변환된 이름을 직접 찾을필요가 없습니다.• C++ 컴파일러에서 함수의 라인 외부 복사본을 생성할 수 없는 경우에는 C에서 C++ 인라인 함수를 호출할 수 없습니다. 예를 들어 함수의 주소를 사용하면 라인 외부 복사본이 생성됩니다.• 비정적 구성원 함수는 int 계열이 아닌 구조체를 반환할 경우 첫 번째 인수(R0) 나 두 번째 인수 (R1) 로 암시적 this 매개변수를 받습니다. 정적 구성원함수는 암시적 this 매개변수를 받지 않습니다.4.4.2 C++ 관련 정보다음 내용은 C++에만 해당됩니다.C++ 호출 규칙<strong>ARM</strong> C++에서는 다음 사항을 제외하고는 <strong>ARM</strong> C와 동일한 호출 규칙을 사용합니다.• 비정적 구성원 함수는 int 계열이 아닌 struct를 반환할 경우 첫 번째 인수나두 번째 인수로 암시적 this 매개변수를 사용하여 호출됩니다. 이는 이후 구현에서 변경될 수 있습니다.4-8 Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0203IKNon-ConfidentialUnrestricted Access

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

Saved successfully!

Ooh no, something went wrong!