24得票5回答
使用赋值而不是memcpy()在C中复制结构体

直到最近,我只看到过使用memcpy()复制结构字段的情况。在课程和在线教程中,将一个结构体的内容复制到另一个结构体中通常看起来像是: Up until recently, I have only seen copying of structure fields done with memc...

24得票6回答
strncpy和memcpy有什么区别?

如何访问s中的s[7]? 我没有观察到strncpy和memcpy之间的任何区别。如果我想打印输出s,以及s[7](例如qwertyA),我需要在以下代码中进行哪些更改:#include <stdio.h> #include <stdlib.h> int main()...

24得票2回答
快速复制`std::vector<std::uint8_t>`

我有一个 std::vector&lt;std::uint8_t&gt;,需要进行复制。简单地调用复制构造函数即可完成。 我的性能分析结果显示,Microsoft Visual C++(msvc100)实现内部使用 std::uninitialized_copy。这会逐个复制每个元素。在这种...

23得票1回答
当__builtin_memcpy被libc的memcpy替换时

在GCC中有一个C99/posix版本的memcpy函数:__builtin_memcpy。 有时,GCC会将其替换为内联版本的memcpy,而在其他情况下,它会被替换为对libc的memcpy的调用。例如,在这里已经注意到: 最后,关于编译器的注释,__builtin_memcpy可能...

22得票2回答
memcpy()通常比strcpy()更快吗?

在大多数真实平台上,memcpy()通常比strcpy()快吗?(我假设字符串的大小已知。) 如果我记得i386汇编指令正确,那么有一些loop指令可以复制给定数量的字节或单词。因此,这是最快的方法,而strcpy() i386汇编实现将在简单循环中使用手动检查'\0'。 因此,我认为在x...

22得票17回答
C strcpy() - 邪恶吗?

有些人似乎认为C语言中的strcpy()函数很糟糕或者很邪恶。虽然我承认通常最好使用strncpy()以避免缓冲区溢出,但是下面这个(针对没有strdup()函数的人实现的strdup()函数)安全地使用了strcpy(),并且永远不会发生溢出:char *strdup(const char ...

21得票8回答
优化的memcpy

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

19得票10回答
安全编程中的Memcpy()函数?

我最近偶然发现了一篇文章,声称Microsoft正在其安全编程工作室中禁止使用memcpy()函数。我理解该函数存在的漏洞,但完全禁止其使用是否必要? 我所编写的程序是否应该完全避免使用memcpy(),还是只需要确保其被安全地使用?是否存在提供类似但更安全的功能的替代品?

18得票3回答
list(...).insert(...)的性能表现

我思考了关于计算机体系结构的以下问题。假设我使用Python进行操作。 from bisect import bisect index = bisect(x, a) # O(log n) (also, shouldn't it be a standard list functio...

18得票5回答
苹果的PowerPC memcpy为何如此快速?

我为了寻找一种好的PowerPC内存策略,编写了几个复制函数。使用Altivec或带有缓存提示(dcb*)的fp寄存器,对于大数据,与简单的字节复制循环相比,性能提高了一倍。最初对此感到满意,于是我加入了一个常规的memcpy来进行比较……它比我最好的快了10倍!我没有重写memcpy的意图,...