Gcc 如何知道在glibc中将使用哪个memcpy实现?

Gcc 如何知道在glibc中将使用哪个memcpy实现?,gcc,glibc,memcpy,Gcc,Glibc,Memcpy,glibc可以根据cpu的类型、cpu的数量、编译器选项等,将C/C++程序对memcpy的基本调用映射到不同的实现 例如,它可以使用cpu优化实现对Intel、NEON、SSE的支持 在不实际运行调用memcpy的软件段的情况下,是否可以知道将使用哪个实现 在不实际运行调用memcpy的软件的情况下,是否可能知道将使用哪个实现 是:您需要跟踪memcpyIFUNC选择器的逻辑,并了解您的CPU有哪些功能和没有哪些功能。换句话说,您需要在模拟器(您的头部、纸张等)上“运行”程序 对于大多数人来说

glibc可以根据cpu的类型、cpu的数量、编译器选项等,将C/C++程序对
memcpy
的基本调用映射到不同的实现

例如,它可以使用cpu优化实现对Intel、NEON、SSE的支持

在不实际运行调用
memcpy
的软件段的情况下,是否可以知道将使用哪个实现

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

是:您需要跟踪
memcpy
IFUNC
选择器的逻辑,并了解您的CPU有哪些功能和没有哪些功能。换句话说,您需要在模拟器(您的头部、纸张等)上“运行”程序

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

还请注意,答案可能会根据GLIBC的版本而变化