腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(2546)
视频
沙龙
1
回答
在什么平台上,
memmove
和memcpy会有显着的性能差异?
、
、
我理解
memmove
和memcpy的区别在于
memmove
处理内存重叠的情况。我已经检查了libgcc的实现,并从英特尔网站获得了这篇文章。在libgcc中,
memmove
类似于memcpy,两者只经过一个字节和一个字节,因此即使经过优化,性能也应该几乎相同。 有人测量了这一点,得到了这篇文章。即使我也不认为
memmove
比memcpy更快,但是至少在Intel平台上应该没有太大的区别。因此,在什么平台上以及如何使用,memcpy可以比
memmove
快得多,如果没有,为什么提供两个相似的函数而不是只提供<
浏览 4
提问于2013-10-25
得票数 6
回答已采纳
1
回答
如何在Visual C++ 9中使用类型特征检测可按位移动的类型?
、
、
、
现在,一些类型可以只是
memmove
()d,而其他类型则需要在新位置复制构造,然后在原始位置销毁。目前有一个实现“复制-构造,然后销毁”的模板化函数,并且每种类型都有一个专门化,可以是
memmove
()d。我想使用V来简化这个任务。 我想要的是,对于每个POD
memmove
()是自动选择的。我不介意使用模板化函数移动一些可以为
memmove
()d的类型,但我不能容忍相反的情况-当不能为
memmove
()d的数据类型为
memmove
()d时。__is_class(T) ) { /
浏览 1
提问于2011-11-10
得票数 2
回答已采纳
1
回答
"_
Memmove
“在核心库源代码中的实现在哪里?
、
我正在查看,并且我看到这段代码从508行开始: private unsafe static void _
Memmove
(byte* dest, byte* src,ulong len) private unsafe static void _
Memmove
(byte* dest, byte* src, uint len) __
Memmove
(dest, src, len); [DllImport(Ji
浏览 1
提问于2018-03-24
得票数 1
4
回答
为什么
memmove
比memcpy快?
、
、
、
我正在调查一个应用程序中的性能热点,该应用程序在
memmove
(3)中花费了50%的时间。应用程序将数百万个4字节的整数插入到排序数组中,并使用
memmove
将数据“向右”移位,以便为插入的值腾出空间。memcpy 0.0140074
memmove
(004) 0.01065
memmove
(008) 0
浏览 320
提问于2015-02-20
得票数 95
回答已采纳
2
回答
AIX中的
memmove
_overlay命令是什么?
、
、
我正在调试AIX6.1中一些C代码中的动态内存分配问题,在堆栈跟踪中,我在崩溃之前得到了命令
memmove
_overlay。这个命令是做什么的?
浏览 0
提问于2011-04-04
得票数 0
3
回答
记忆和拷贝有什么区别?
、
我理解memcpy和
memmove
之间的区别:
memmove
处理src和dst的重叠。我检查了,它似乎也处理了重叠。所以我想知道
memmove
和bcopy之间是否有什么区别
浏览 6
提问于2021-01-05
得票数 4
回答已采纳
1
回答
Memmove
是重叠的
我正在使用
memmove
(),但目标似乎是覆盖源,或者可能我不明白什么是覆盖。我有一个char数组(目标),然后是指向目标的指针,即向量内的指针。然后,我使用
memmove
()移动四个字符并打印源代码。当我查看源代码时,它已经更改为"gefg"。printf("%s\n",
memmove
(destination,source,sizeof(char)*4));我认为
memmove
()应该阻止覆盖,或者我可能不理解
浏览 2
提问于2017-04-19
得票数 2
回答已采纳
1
回答
MinGW在Windows上失败
、
、
、
、
我正在使用QT5.0.2提供的MinGW构建工具链来构建一个项目。总的来说,事情进展顺利,但我似乎遇到了一个障碍。当测试版测试人员在Windows XP计算机上运行该程序时,该程序立即崩溃,出现以下错误:我在使用时发现了两件事: 安装Visual运行时Qt (在C++中)无助于解决这个问题,因为最近版本
浏览 3
提问于2013-06-13
得票数 1
回答已采纳
5
回答
从字符串中删除前几个字符
、
、
、
我知道我可以使用
memmove
,但是我在一个没有标准库的系统上工作,
memmove
也是用于指针的。用
memmove
我可以做{ size_t len = strlen(str); return; // Or: n = len;
memmove
(str, str+n, len - n + 1
浏览 9
提问于2016-11-10
得票数 1
回答已采纳
3
回答
C-
memmove
()函数-在这个实现中我移动了多少字节?
、
我的问题是,在
memmove
()的这个实现中,我移动了什么值(或多少字节)?{
memmove
(str+15,str+20,/*?*/);return 0;在下一个示例中,它说我正在移动11个字节。但是是什么让它变成了11个字节呢?int main ()char str[] = "
memmove
can be v
浏览 5
提问于2011-10-29
得票数 1
2
回答
我应该考虑
memmove
() O(n)还是O(1)?
、
、
void *
memmove
( void * destination, const void * source, size_t num ); 复杂度也是O(num)或O(1)。
浏览 0
提问于2010-04-26
得票数 8
回答已采纳
4
回答
在C++中使用
memmove
在构造函数中初始化整个对象
、
、
使用
memmove
/memcpy用构造函数参数初始化对象安全吗?在堆栈中传递的参数是否会导致问题?假设我有一个foo类,如下所示{ float z; foo(int,int,float); 我是否可以使用
memmove
初始化变量foo::foo(int x,int y,float z)
memmove
(this,&x, sizeof(foo)); }
浏览 5
提问于2016-09-24
得票数 1
回答已采纳
6
回答
当memcpy()比
memmove
()更快时,什么是真正有意义的情况?
、
、
、
、
在memcpy()和
memmove
()之间的意思是,当源和目标重叠时,
memmove
()将很好地工作。当缓冲区肯定不会与重叠时,因为它可能更快。 困扰我的是这可能。这是一个微观优化,还是有真正重要的例子,当memcpy()更快,使我们真的需要使用memcpy(),而不是坚持
memmove
()在任何地方?
浏览 6
提问于2010-09-13
得票数 16
回答已采纳
2
回答
memmove
()的代码
、
下面的代码片段显示了
memmove
()的实现。void my_
memmove
(void* dest, const void* src, size_t size) unsigned int i; } {
浏览 5
提问于2012-08-20
得票数 0
回答已采纳
2
回答
C语言错误输出memove()函数?
、
、
= "I live in NY city"; printf("%s%s\n","The string in array str[] before invokihg the function
memmove
(): ",
memmove
(str,&a
浏览 1
提问于2018-08-06
得票数 3
回答已采纳
2
回答
我可以在"number of bytes“设置为0的情况下调用memcpy()和
memmove
()吗?
、
、
、
、
当我确实无法使用
memmove
()/memcpy()进行移动/复制时,是否需要将这些情况视为边缘情况if( numberOfBytes != 0 ) {}int numberOfBytes = ...
memmove
(
浏览 2
提问于2010-09-20
得票数 115
回答已采纳
3
回答
memcpy或
memmove
能返回与dest不同的指针吗?
、
、
、
函数
memmove
的定义如下:在Linux手册页面中,它说: 函数返回指向dest当函数总是返回一个输入参数时,为什么不将其定义为void
memmove
(…)呢?返回值是否与dest不同? 或者返回值真的总是dest,它只是为了能够以一些创造性的方式组合函数吗?
浏览 5
提问于2016-10-12
得票数 39
回答已采纳
1
回答
我什么时候应该使用memcpy,什么时候应该使用
memmove
?
、
memcpy和
memmove
函数之间有什么重要的区别吗?我什么时候应该使用memcpy,什么时候应该使用
memmove
?
浏览 0
提问于2013-12-11
得票数 2
回答已采纳
1
回答
有没有可能用一个有效的方法来替代
memmove
()函数?
我正在尝试为
memmove
()函数提出一个有效的替代方案,大致如下:smart_
memmove
(17, 0, 10, -1, 2);sm
浏览 3
提问于2011-10-11
得票数 0
1
回答
用“`
memmove
`”循环移动数组
、
、
、
我以为我可以通过 for (shift = MAX - 1; shift >= 0; --shift) {} 但我现在不知道如何使用
memmove
()来执行转换,我试图执行
memmove
(bar + shift, foo, MAX * sizeof(*foo)-1);,但没有成功。
memmove
()是工作的正确工具吗?如何循环所描述的整数数组?如果这种情况发生在bar作为指
浏览 0
提问于2017-03-27
得票数 4
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
通过SSH反向SHELL
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券