gpt4 book ai didi

c++ - 以安全的方式替换 memcpy

转载 作者:太空宇宙 更新时间:2023-11-04 06:07:27 24 4
gpt4 key购买 nike

我想用我自己的优化版本替换 memcpy 来做一些基准测试。我不想修改调用 memcpy 的代码中的每个地方(这是一个大型代码库,我想避免大量更改)。所以我所做的是:

// in a "common" header file which is included everywhere
#ifdef SHOULD_OPTIMIZE
#define memcpy my_on_steroids_memcpy
#endif

上面的方法有效并用我自己的实现替换了 memcpy,但它看起来粗糙、强制并且一点也不安全。是否有任何其他选择,以便我可以在不修改其余代码的情况下替换库 memcpy?我是否应该忘记上面的内容,因为它似乎不是一件可取的事情,只需修改所有其他文件(以及为什么)?

最佳答案

一些编译器有办法从命令行中包含一个头文件。例如,可以使用 -include 选项调用 g++gcc

但是,我确信您的代码至少可以在没有自定义 header 的情况下编译和运行,因为如果没有“神秘”编译器标志,您的代码失败将被视为“不礼貌”。

此外:memcpy 的标准库实现通常已经通过 SSE2 优化等进行了优化。您可能无法做得更好。

关于c++ - 以安全的方式替换 memcpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7301577/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com