내가 원하는 것 (고급 수준) : Android에서 qsort_r을 사용합니다.Android 용 qsort_r 없음 (Android ARM 코드에서 CLZ를 사용하도록 Thumb을 강제로 비활성화하는 방법)
기본 구현이 없습니다. 그래서 저는 BSD에서 한 명을 얻었습니다. 안타깝게도 안드로이드에서는 사용할 수없는 fls 함수가 필요합니다. 그래서 저는 Apple Open Source Libc 라이브러리를 가져 와서 ARM 구현을 인라인 어셈블리로 복사했습니다. 이제 다음과 같이 표시됩니다.
Assembler messages:
Error: selected processor does not support Thumb mode `clz r3,r0'
Error: cannot honor width suffix -- `rsb r0,r3,#32'
AFAIR ARM-6은 Thumb 모드에서 지원하지 않습니다. 그렇다면이 하나의 파일에 대해 비 Thumb 모드를 강제로 적용 할 수 있습니까? 아니면 fls에 대해 순수 C 구현을 사용할 수 있습니까?
여기에 엄지 손가락을 컴파일 할 일을 설정하는 방법입니다, 당신의 Android.mk 파일에서
Android.mk 파일에서 ".arm"을 파일 이름에 추가하면 Thumb 모드 (예 : sort.c.arm) 대신 ARM 모드로 컴파일됩니다. 안드로이드 네이티브 라이브러리에서 Thumb/ARM 코드를 섞어서 잘 작동했습니다. – BitBank
@BitBank 제발 답변을 공동으로 그것을 upvote 수 있습니다. – Wojtek