libasan 包之间的区别(libasan0、libasan2、libasan3 等)

Phi*_*ßen 5 gcc clang

libasan(gcc 和 clang 的地址清理器)有许多类似的命名包:

$ apt-cache search libasan | grep -v dbg | grep -v cross
libasan2 - AddressSanitizer -- a fast memory error detector
libasan3 - AddressSanitizer -- a fast memory error detector
libasan4 - AddressSanitizer -- a fast memory error detector
libasan0 - AddressSanitizer -- a fast memory error detector
Run Code Online (Sandbox Code Playgroud)

(输出来自 Ubuntu 17.10。Ubuntu 18.04 也有libasan5。)

  • 这些包有什么区别?
  • 我应该安装哪一个?

Phi*_*ßen 5

这些包有什么区别?

不同的包适用于不同版本的 gcc:

  • libasan0:gcc-4.8
  • libasan2:gcc-5
  • libasan3:gcc-6
  • libasan4:gcc-7
  • libasan5:gcc-8

要了解该信息,您可以查看软件包详细信息: apt-cache show libsan0

我应该安装哪一个?

与您用于编译程序的 gcc 版本匹配的版本。

  • 您可以提到该库可以通过“$(gcc -print-file-name=libasan.so)”来识别。 (3认同)