나는 ABI 크로스 체크 툴을 찾고있다. 지금은 몇 가지 도구는 이러한 질문에 다른 질문에 제안 만난 :ABI 호환성 헤더/라이브러리 교차 검사
How to test binary compatibility automatically?
Static analysis tool to detect ABI breaks in C++ 이제
이 정확히되지 않습니다 내가 뭘하려고 - 이러한 ABI를 추적으로 버전 간 변경.
주어진 프로젝트 소스 파일 + 라이브러리 헤더 파일과 라이브러리 .so 파일뿐 아니라 컴파일러 버전 (라이브러리와 프로젝트 모두를 컴파일하는 데 사용됨)이 궁금 해서요. ABI의 출력은 컴파일 된 라이브러리와 일치합니까?
그래서 업스트림 라이브러리가 libfoo.so 및 libfood.so를 제공 한 경우에 해당합니다. 음식이 약간 다른 ABI 인 경우 (float 대신 double을 말하십시오), 컴파일을하지 않을 정도로 멀리는 아닙니다.
- 컴파일 된 실행 파일이 올바른 lib에 링크되어 있다고 말하는 테스트 (방탄이 아님)가 가능합니까?
- 이렇게하는 도구가 있습니까?