2011-08-11 1 views
2

프로젝트 중 하나에서 계산을 최적화하기 위해 NEON을 사용하는 ARM 어셈블리로 작성된 파일이 있습니다. 또한 현재 난 그냥 어셈블리에 정의되고있는 C 기능을 주석 단지 C 파일에iOS 장치 인 경우 ARM 어셈블리 파일을 컴파일하는 방법과 iOS 시뮬레이터 인 경우 일반 C를 사용하는 방법 중에서 선택하는 방법

extern void myFunction(); 

를 추가 그것은 C로 작성되는 것을 제외하고는 동일한 일을 수행하는 파일이 있습니다.

이 모든 것을 요약하면 어셈블리에서 전처리 지시문을 사용하는 방법과 장치를 설치하는 방법을 알려주는 전 처리기 정의를 찾고 있습니다. 당신의 C 파일에서

답변

3

:

#if defined __arm__ 
extern void myFunction(); 
#else 
void myFunction() { 
    /* code here */ 
} 
#endif 

어셈블리 파일에서 :

#if defined __arm__ 
/* code here */ 
#endif 

가 (엑스 코드뿐만 아니라 파일을 .S하는 C 프리 프로세서를 적용).

+0

감사합니다. 이전과 비슷한 점이 있었지만 선행 처리기 정의 TARGET_IPHONE_SIMULATOR을 어셈블리 파일에서 사용할 수 없었지만 __arm__이 (가) 있기 때문에 스크랩했습니다. –