36得票5回答
C++ memcpy返回值

根据http://en.cppreference.com/w/cpp/string/byte/memcpy, C++的memcpy函数需要三个参数:目标地址,源地址和字节数。它还返回一个指针。 void* memcpy( void* dest, const void* src, std::s...

34得票1回答
在C语言中,memcpy和赋值之间有什么区别?

在什么情况下,我应该期望使用memcpys比使用赋值语句在现代INTEL/AMD硬件上具有更好的性能?我正在使用32位Intel平台上的GCC 4.2.x(但也对64位感兴趣)。

31得票3回答
memcpy内部实现是如何工作的?

标准C函数'memcpy'是如何工作的?它需要将一个(较大)的RAM块复制到RAM中的另一个区域。由于我知道在汇编中不能直接从RAM移动到RAM(使用mov指令),所以我猜测它在复制时使用CPU寄存器作为中间内存?但是,它是如何复制的呢?通过块(它如何通过块复制?),通过单个字节(char),...

28得票3回答
强制GCC执行memcpy运行时大小检查的循环展开?

有没有可靠的方法可以强制GCC(或任何编译器)在循环之外对memcpy()中的运行时大小检查进行分解(其中该大小不是编译时常量,但在该循环内是常量),为每个相关大小范围专门化循环,而不是在其中重复检查大小?这是从一个用于高效内存分析大型数据集的开源库中报告的性能回归缩小的测试案例(在这里)(此...

27得票2回答
一个平凡可复制类型的memcpy是构造还是赋值?

假设您有一个类型为T的对象和一个适当对齐的内存缓冲区alignas(T)unsigned char[sizeof(T)]。如果使用std::memcpy从类型为T的对象复制到unsigned char数组,这是否被视为复制构造还是复制赋值? 如果一个类型是平凡可复制的但不是标准布局,则可以构...

26得票12回答
memcpy(),size参数的值应该是多少?

我想将一个int数组复制到另一个int数组中。它们使用相同的长度定义,因此它们始终具有相同的长度。 以下是在调用memcpy()函数时使用大小参数的两种替代方案的优点/缺点是什么?memcpy(dst, src, ARRAY_LENGTH*sizeof(int)); 或者memcpy(dst,...

26得票6回答
在C语言中,memset和memcpy有什么区别?

我已经阅读了函数头部,但仍不确定在使用案例方面的确切差异是什么。

26得票9回答
Go- 复制两个结构体之间的所有公共字段

我有一个存储JSON的数据库,还有一个服务器提供外部API来通过HTTP POST更改数据库中的值。该数据库由不同的内部进程使用,并因此具有共同的命名方案。 客户看到的键是不同的,但与数据库中的键一一映射(存在未公开的键)。例如: 这是数据库中的内容:{ "bit_size": 8, "s...

26得票5回答
使用memcpy将std :: vector复制到protobuf中的重复字段

一开始我有一个简单的 protobuf 文件message messagetest { ... repeated float samples = 6; .... } 这将创建一个带有这些方法的头文件。 //repeated float samples = 6; ...

25得票3回答
从未初始化的变量中进行memcpy操作是否属于未定义行为?

在 C 语言中,使用未初始化的变量作为 memcpy 的 src 是否属于未定义行为?void foo(int *to) { int from; memcpy(to, &from, sizeof(from)); }