问题标签 [memcpy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
15103 浏览

python - list(...).insert(...) 的性能

我想到了以下有关计算机体系结构的问题。假设我用 Python 做

如果我理解正确的话,这需要log n. 的内存复制操作x[index:]。现在我最近读到瓶颈通常在处理器和内存之间的通信中,因此内存复制可以通过 RAM 非常快地完成。它是这样工作的吗?

0 投票
6 回答
2674 浏览

c++ - 使用 movsd 使编译器复制字符

我想在时间关键函数中复制一个相对较短的内存序列(小于 1 KB,通常为 2-200 字节)。在 CPU 方面最好的代码似乎是rep movsd. 但是,我不知何故无法让我的编译器生成此代码。我希望(我隐约记得看到过)使用 memcpy 会使用编译器内置内在函数来做到这一点,但基于反汇编和调试,编译器似乎正在使用对 memcpy/memmove 库实现的调用。我还希望编译器可能足够聪明,能够识别后续循环并rep movsd自行使用,但似乎没有。

除了使用内联汇编之外,还有什么方法可以让 Visual Studio 编译器生成rep movsd序列吗?

0 投票
9 回答
82670 浏览

c++ - memcpy 与 startIndex?

我希望从一个特定的起点将特定长度的内容从一个缓冲区复制到另一个缓冲区。我检查了memcpy(),但是当我也想指定起始索引时,它只需要复制内容的长度。

是否有任何功能可以做到这一点,或者有什么好的方法可以用现有的memcpy功能做到这一点?

0 投票
9 回答
95418 浏览

c - memmove 和 memcpy 有什么区别?

memmove和 和有什么不一样memcpy?您通常使用哪一种以及如何使用?

0 投票
8 回答
14030 浏览

c++ - 优化的内存

C++ 中是否有更快的 memcpy() 替代方法?

0 投票
3 回答
8304 浏览

c++ - C++ 字节流

对于网络应用程序,我们传输动态数据的方式是通过 memcpying 一个结构到 (void*) 中。这会带来一些问题,例如对 std::string 执行此操作时。字符串可以是动态长度的,那么对方怎么知道字符串什么时候结束呢?我的一个想法是使用类似于 Java 的 DataOuputStream 的东西,在那里我可以将任何变量传递给它,然后可以将其放入 (void*) 中。如果这不能完成,那么它很酷。我只是不太喜欢 memcpying 结构。关于它的某些东西似乎不太对劲。

谢谢,
罗比

0 投票
4 回答
1350 浏览

c - C语言给字符数组加1有什么作用?

我正在查看一些用于学习目的的代码。我正在处理这部分代码。

在调用 memcpy 的最后一行,buf+1 是做什么的?buf 是一个字符数组,那么 +1 对它有什么作用呢?

0 投票
7 回答
34801 浏览

c - C 编程。如何深度复制结构?

我有以下两个结构,其中“子结构”有一个“使用结构”作为元素。

然后我创建了两个“child”类型的结构,我们称它们为 childA 和 childB

如何仅将 rusage 结构从 childA 复制到 childB?

我做了以下,但我猜它复制了内存位置,因为如果我改变了 childA 中的使用值,它也会改变 childB。

我知道这给了 childB 来自 childA 的所有值。我已经处理了 childB 中的其他字段,我只需要能够复制位于“child”结构中的名为 usage 的 rusage 结构。

0 投票
6 回答
42347 浏览

c - C中的memset和memcpy有什么区别

我已经阅读了函数标题,但我仍然不确定在用例方面到底有什么区别。

0 投票
3 回答
14228 浏览

c++ - 为什么 memcpy 无法复制到简单对象的本地数组成员?

使用 C 数组作为函数参数的经典 memcpy 陷阱。正如下面所指出的,我的代码中有一个错误,但错误的代码在本地上下文中工作!

我刚刚在移植工作中遇到了这种奇怪的行为,我正在使用对象模拟 Macintosh 图片操作码播放。我的 DrawString 对象在播放时绘制垃圾,因为它显然无法复制字符串参数。下面是我写的一个测试用例——注意手动复制循环是如何工作的,但是 memcpy 失败了。Visual Studio 调试器中的跟踪显示 memcpy 用垃圾覆盖了目标。

两个本地 Str255 阵列上的 Memcpy 工作正常。

当其中一个是堆栈上对象的成员时,它会失败(在其他测试中,当对象在堆上时它也会失败)。

以下示例代码显示了在 operator= 中调用的 memcpy。在构造函数中失败后,我将它移到了那里,但没有区别。