腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
我怎样才能阻止GCC
优化
这个逐字节拷贝到一个
memcpy
调用中呢?
c
、
gcc
、
compiler-optimization
我有这段
memcpy
代码,作为标准C库实现的一部分,该库每次将内存从src复制到dest: cmpq %rdx, %rcx.L2:.LFE0:Configured with: ..cros-
linux<
浏览 1
提问于2019-08-17
得票数 9
回答已采纳
1
回答
为什么内核不能使用SSE/AVX寄存器和指令?
kernel
、
intel
、
assembly
、
optimization
、
syscalls
例如,在
Linux
内核中,通常不允许使用SSE/AVX或FP寄存器。因此,大多数
优化
的
memcpy
变体都不能使用,因为它们依赖SSE或AVX寄存器,而在x86上使用了一个简单的基于64位mov的副本。对于这些平台,使用rep可以在不打破SIMD代码限制的情况下实现
优化
的
memcpy
的大部分性能。 为什么,x86_64内核不能使用SSE/AVX?特别对
Linux
内核中的SSE/MME和AVX
优化
感兴趣。
浏览 0
提问于2018-10-17
得票数 20
3
回答
bzero() & bcopy()与memset() &
memcpy
()
c
、
linux
有没有理由在
Linux
环境中使用非标准的bzero()和bcopy()而不是memset()和
memcpy
()?我听到许多人说它们更适合
Linux
编译器,但还没有看到比标准函数更好的优点。它们是否比标准版本更
优化
,或者它们是否有其首选的行为特性?
浏览 0
提问于2013-08-20
得票数 38
回答已采纳
2
回答
glibc和SSE功能
c
、
performance
、
sse
如果它是
优化
的,我可以开箱即用吗? 假设我使用的是一个较大的
Linux
发行版,我假设它的glibc被编译为尽可能通用,尽可能地可移植,因此没有
优化
?我特别感兴趣的是函数
memcpy
和memcmp,以及如何尽可能快地获取这些函数。
浏览 1
提问于2009-05-06
得票数 5
回答已采纳
3
回答
重叠缓冲区的记忆
c++
、
c
、
memcpy
使用valgrind,我发现这个库在重叠缓冲区上执行一个
memcpy
。规范指出,没有定义重叠缓冲区上的
memcpy
行为。source[i]; 有人能告诉我他在各种机器上使用重叠<e
浏览 6
提问于2014-09-02
得票数 14
回答已采纳
1
回答
假设
memcpy
的固定大小被
优化
了,安全吗?
c
、
optimization
void foo(MyStruct *a, const MyStruct *b)
memcpy
(&a[0], b, sizeof(*a));
memcpy
(&a[2], b, sizeof(*a));当使用现代C编译器*编写可移植代码时,可以
优化
输出与.{ a[1] = *b;
浏览 0
提问于2015-03-22
得票数 2
8
回答
优化
的
memcpy
c++
、
optimization
、
memcpy
在C++中有没有比
memcpy
()更快的替代品?
浏览 2
提问于2009-07-30
得票数 20
回答已采纳
3
回答
ARM汇编程序和信息
assembly
、
arm
我正在寻找用于ARM的汇编示例。我现在需要专门用于复制例程(32、16和8位)和内存集例程(32、16和8位)的ARM汇编。我在Google,sf.net,Google code,或github上都不太走运。有没有人有类似的东西,或者知道我可以去哪里找?编辑:哦,是的,arm.com的文档真的很有帮助。单单这个页面就告诉了我很多关于mem*函数的信息。
浏览 3
提问于2012-02-23
得票数 0
回答已采纳
5
回答
以安全的方式替换
memcpy
c++
、
c
、
optimization
我想用我自己的
优化
版本替换
memcpy
来做一些基准测试。我不想修改调用
memcpy
的代码中的每一个地方(它是一个很大的代码库,我想避免太多的更改)。我所做的是:#ifdef SHOULD_OPTIMIZE#endif 上面的方法用我自己的实现替换了
memcpy<
浏览 4
提问于2011-09-05
得票数 0
回答已采纳
1
回答
如何在
linux
内核的
memcpy
函数中添加钩子?
c
、
linux
、
kernel
、
hook
、
memcpy
Linux
3.16-Rc2\arch\x86\lib\
memcpy
_64.S:ENTRY(__
memcpy
)...CFI_ENDPROCENDPROC(__
memcpy
)ENTRY(__
memcpy
)...CFI_ENDPROCENDPROC(__
memcpy
浏览 3
提问于2014-08-20
得票数 4
回答已采纳
2
回答
高效的strcpy和将指针移动到目标端
stm32
、
strcpy
我需要复制一些类似c的字符串到另一个,并移动它的指针。我编写了用于移动目标指针的strcpy的包装器,我想知道是否有更好的方法来做到这一点。#include <string.h>void write_obj(char ** s, char * t) { (*s) += strlen(t); char json_str[10
浏览 13
提问于2021-11-17
得票数 0
1
回答
为什么constexpr上下文使编译器失败,而w/o使编译器
优化
得很完美?
c++
、
g++
、
compiler-optimization
、
clang++
、
c++20
我和constexpr玩过,发现了一些有趣的行为: 在某些情况下,在函数前面添加constexpr使GCC能够更努力地进行
优化
,从而使函数完全
优化
,并且只提供计算值。但是,从constexpr上下文中调用这样一个完全
优化
的函数会导致错误,因为它在内部使用(编译器内置)函数/本质,而这些函数没有标记为constexpr (特别是在
memcpy
中)。即使在constexpr上下文中,编译器(GCC)难道不能仍然进行
优化
吗?那么,GCC和Clang不允许在
memcpy
函数
浏览 2
提问于2020-03-06
得票数 1
回答已采纳
1
回答
在调试中覆盖
memcpy
工作,但在发布时没有覆盖吗?
c++
、
visual-studio-2010
、
linker
、
overriding
我想用库中的那个来覆盖标准的
memcpy
。为什么?
浏览 0
提问于2011-12-10
得票数 0
回答已采纳
3
回答
记忆[或不?]和多线程[std::c++11中的线程]
c
、
multithreading
、
memcpy
、
interval-arithmetic
我相当肯定,它来自对库的
memcpy
的调用(遵循gdb回溯,我总是以调用
memcpy
的偏向/Profil函数结束。公平地说,几乎所有函数在返回结果之前都会调用一个临时对象的
memcpy
。第二个问题:在我的字符串.h中,
memcpy
是由:#ifndef __HAVE_ARCH_
MEMCPY
extern void *
memcpy
(void *,const void *,__kernel_size_t); #endif和其他字符串头(string_64.h,string_32.h
浏览 6
提问于2013-11-13
得票数 1
回答已采纳
7
回答
堆栈内存中的
Memcpy
c
、
linux
、
memcpy
可能重复: char * string2 = " ";第二个版本在
LINUX
上工作。char * string2 = malloc(sizeof(char)*12); (void
浏览 1
提问于2012-03-29
得票数 1
回答已采纳
1
回答
为什么相同的
memcpy
glibc实现在
Linux
上更快,在Windows上更慢?
linux
、
windows
、
glibc
、
questdb
我注意到,
memcpy
在
Linux
上的速度比在相同硬件上的Windows快。我用英特尔i7 4770 CPU和16 i7内存双引导同一盒,运行相同的c++代码编译。// Time taken per 1Mb }
Linux
在
Linux
上平均花费20微秒/兆,在Wi
浏览 3
提问于2021-03-13
得票数 1
回答已采纳
1
回答
如何防止gcc
优化
破解移动代码?
c
、
gcc
、
optimization
、
x86-64
、
inline-assembly
我尝试用rep movsb指令创建我的
memcpy
代码。当禁用
优化
时,它与任何大小都能完美地工作。但是,当我启用
优化
时,它并不像预期的那样工作。 我从 第3.7.6节上读到了增强movsb for
memcpy
的文章。我看了libc源代码,看到libc默认的
memcpy
使用SSE而不是movsb。memcmp(dst, src, 1))); prin
浏览 4
提问于2020-09-30
得票数 5
回答已采纳
2
回答
如何在SystemTap中获取内核函数的参数并将空指针转换为char?
debugging
、
systemtap
我有一个系统点击脚本来探测内核函数"
memcpy
“。我想根据src缓冲区的内容打印堆栈跟踪,src缓冲区是一个空指针。我的代码: #include <
linux
/string.h>probe begin printf("Begin\n");probe kernel.function("
memcpy
") buffer = @cast($src, "char");
浏览 2
提问于2019-02-19
得票数 2
2
回答
如何在C++中获取给定位模式(如int32_t)的浮点数?
c++
、
c++11
、
type-conversion
当然,编译器应该
优化
整个结构。简单的转换执行强制转换,不允许使用reinterpret_cast<> ...
浏览 0
提问于2013-02-13
得票数 4
回答已采纳
2
回答
使用
memcpy
/memset
iphone
、
memcpy
、
memset
当在Obj-C程序中使用memset或
memcpy
时,编译器是否会
优化
设置(memset)或将数据复制(
memcpy
)到32位写入中,还是会逐个字节执行?
浏览 2
提问于2010-05-24
得票数 1
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux系统性能优化实战
微软探索 LTO+PGO 以优化 Linux 内核
“攻城狮”实用指南之Linux CPU性能优化
教你如何对linux服务器进行优化
Linux 实现原理—I/O 处理流程与优化手段
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券