ARM 용 SourceryGpp lite를 사용하여 응용 프로그램과 라이브러리를 개발 중입니다.ctor init이 라이브러리의 전역 ctor 인스턴스를 호출하지 않음
표준 라이브러리 또는 기본 시작 파일을 사용하지 않습니다. 그래서 내가 다음 코드로하고있어 글로벌 클릭률 (CTR)을 호출 :
ldr r0,=__ctors_init__
ldr r0,[r0]
mov lr,pc
bx r0
그래서 문제는 정적 라이브러리에서 일부 글로벌 인스턴스를 정의 해요,하지만 그들의 ctors가 위의 코드에 의해 호출되지 않습니다이다 . 이상한 점은 응용 프로그램의 전역 ctors가 성공적으로 호출되었으므로 누구나 이유를 알 수 있습니까?
하지만 응용 프로그램 코드없이 정적 라이브러리 인스턴스를 참조하면이 문제에 대한 해결책이 있습니까? – DVD
@DVD : 유니티 빌드는 그것을 해결합니다 (라이브러리에 오직 하나의 컴파일 유닛이 있기 때문에). 라이브러리를 제거하고 명령 행에서 라이브러리를 구성하는 모든 파일을 전달하는 것은 잘 작동합니다. 물론 메인 프로그램의 변수를 참조 할 수 있으므로 링크 타임에 가져올 수 있습니다. –
ok thkz ben과 답글을위한 ybungalobill – DVD