207得票12回答
memcpy() vs memmove()

我正在努力理解memcpy()和memmove()之间的区别,并且我已经阅读了关于memcpy()不处理重叠源和目标的文本,而memmove()则会处理。 然而,当我在重叠的内存块上执行这两个函数时,它们都给出了相同的结果。例如,参考下面MSDN帮助页面上的memmove()示例:- 有没...

138得票9回答
memmove和memcpy有什么区别?

memmove 和 memcpy 有什么区别?你通常使用哪一个以及如何使用?

132得票2回答
我可以将 "number of bytes" 设置为零并调用 memcpy() 和 memmove() 吗?

当我实际上没有要移动/复制的内容时,我需要将memmove()/memcpy()视为边缘情况吗?int numberOfBytes = ... if( numberOfBytes != 0 ) { memmove( dest, source, numberOfBytes ); } 还是...

101得票6回答
增强的REP MOVSB用于memcpy

我希望使用增强的REP MOVSB (ERMSB) 来为自定义的memcpy获取高带宽。 ERMSB是在Ivy Bridge微架构中引入的。如果您不知道ERMSB是什么,请参阅Intel优化手册中的“增强的REP MOVSB和STOSB操作(ERMSB)”部分。 我所知道的唯一直接做法是使...

97得票9回答
strcpy与memcpy

memcpy()和strcpy()之间有什么区别?我尝试用程序找到答案,但两者都给出了相同的输出。 int main() { char s[5] = { 's', 'a', '\0', 'c', 'h' }; char p[5]; char t[5]; str...

95得票2回答
JPEG of Death漏洞是如何运作的?

我在研究一个与GDI+有关的旧漏洞,它针对Windows XP和Windows Server 2003,被称为“JPEG of death”,这是我正在处理的一个项目。 以下链接详细解释了这个漏洞: http://www.infosecwriters.com/text_resources/p...

95得票3回答
执行memcpy(0,0,0)是否保证安全?

我对C标准不是很熟悉,请见谅。 我想知道是否有保证,按照标准,memcpy(0,0,0)是安全的。 我找到的唯一限制是如果内存区域重叠,则行为是未定义的... 但是我们可以认为这里的内存区域重叠吗?

80得票10回答
如果对象不是TriviallyCopyable,为什么std::memcpy的行为会变得未定义?

来自http://zh.cppreference.com/w/cpp/string/byte/memcpy: 如果对象不是TriviallyCopyable类型(例如标量、数组、兼容C的结构体),则行为未定义。 在我的工作中,我们长期使用std::memcpy对不是Triviall...

78得票7回答
Linux上memcpy性能差

我们最近购买了一些新服务器,但是发现在使用memcpy()函数时性能较差。相比于我们的笔记本电脑,服务器上memcpy()函数的性能要慢3倍。 服务器规格 机箱和主板:SUPER MICRO 1027GR-TRF CPU:2个Intel Xeon E5-2680 @ 2.70 Ghz 内存:...

77得票16回答
比memcpy更快的替代方案?

我有一个函数在执行memcpy操作,但是它占用了大量的CPU周期。有没有比使用memcpy更快的替代方法或者其他方式来移动内存块?