如何知道glibc中将使用哪种memcpy实现?

时间:2019-08-30 06:59:02

标签: gcc glibc memcpy

glibc可以将C / C ++程序对memcpy的基本调用映射到不同的实现,具体取决于cpu的类型,cpu的功能,编译器选项等。

例如,它可以使用CPU优化的实现来实现对Intel,NEON,SSE的支持...

是否有可能知道将在不运行调用memcpy的软件的情况下使用 的哪个实现?

1 个答案:

答案 0 :(得分:0)

  

是否可以在不实际运行名为memcpy的软件的情况下知道将使用哪种实现?

是:您需要跟踪memcpy IFUNC选择器的逻辑,并知道CPU具备和不具备的功能。换句话说,您需要在模拟器(您的头,纸等)上“运行”程序。

对于大多数人来说,在给定的CPU上实际运行程序要快得多,并且可以保证给出正确的答案。

还请注意,答案可能会根据GLIBC的版本而有所不同。