【问题标题】:How to know which implementation of memcpy will be used in glibc?如何知道 glibc 中将使用哪个 memcpy 实现?
【发布时间】:2019-08-30 06:59:02
【问题描述】:

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

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

是否有可能知道将使用哪个实现而不实际运行调用memcpy 的软件?

【问题讨论】:

    标签: gcc glibc memcpy


    【解决方案1】:

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

    是的:你需要追溯memcpyIFUNC选择器的逻辑,知道你的CPU有哪些特性,没有哪些特性。换句话说,您需要在模拟器(您的头、纸等)上“运行”程序。

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

    另请注意,答案可能会因 GLIBC 的版本而异。

    【讨论】:

      猜你喜欢
      • 2015-06-19
      • 1970-01-01
      • 2016-11-14
      • 1970-01-01
      • 2019-02-10
      • 2016-08-30
      • 1970-01-01
      • 2010-09-17
      • 2013-08-17
      相关资源
      最近更新 更多