我一直在尋找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,(比如說雙打而不是浮點數),但是到目前爲止它不會編譯。
- 是否有可能拿出一個測試(可能不是bulletproof),說明編譯的可執行文件已經鏈接到正確的lib?
- 是否有工具可以做到這一點?