由于Memcpy的问题,无法使用VS进行优化;被视为固有功能
Cannot compile under optimisation using VS due to an issue with memcpy; treated as an intrinsic function
我目前正在使用Visual Studio来做非常简单的事情:
memcpy(real, real_, n, sizeof(float));
读取和real_是float类型*的指针*;指向两个分配的大小的内存= n*sizeof(float)的开始。如果没有优化,我就没有问题来编译这一点,但是一旦我汇编了/o2。编译器会引发以下错误:
Error 32 error C2167: 'memcpy' : too many actual parameters for intrinsic function
我无法理解这一点,因为我已经禁用了内在函数,并且构建命令行中的" cflags"不包括/oi
我假设O2默认情况下这样做。因此,我使用Pragama编译器指令在局部进行优化和/或内在切换而无效。
此时我完全困惑。而且,我从来没有任何问题。我目前正在与VS 2013一起工作。
编辑:
do'h-感谢黑暗。我要发送四个论点而不是三个论点 - 见memcpy(3)。但是,这是在编译(甚至没有警告),并且在没有优化的情况下编译时工作正常。
您的代码片段中确实有太多参数。将其重写为:
memcpy(real, real_, n * sizeof(float));
并确保您包括<string.h>
真正的问题是:
- 为什么根本没有
/O2
编译有问题的代码?
您是否启用了警告?你得到吗?
相关文章:
- 具有小对象优化功能的智能指针
- C++分离功能,实现性能优化
- 结合Python和C 或Cython,以优化功能;最大似然示例;对C 的了解很少
- 优化调用一系列功能指针
- 尾部调用优化是否适用于此功能?
- 虚拟功能编译器优化C
- [[GNU :: pure]]功能属性和线程的优化问题
- 由于Memcpy的问题,无法使用VS进行优化;被视为固有功能
- 有没有办法优化这个功能
- C++ - Xcode "Inline Function Expansion"像Visual Studio中的优化功能一样?
- 编译时,复制构造函数/复制分配和正常功能调用优化之间是否存在任何区别
- 编译器可以优化多个相同功能调用吗?
- 如何在gcc中设置模板功能的自动优化代码
- 为什么优化会扼杀这个功能
- 有没有办法优化此功能
- 优化反转词,同时大写空格后词功能
- 优化功能
- 模板与常规功能的优化:引擎盖下发生了什么?
- 内联组件 (__asm) 块是否会阻止功能优化
- 如何优化 SIMD 转置功能 (8x4 => 4x8)?