问题标签 [memcmp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
780 浏览

c++ - memcmp 是否适用于非平面结构?

在我的编译器中,它可以工作,意思是

f1.a1 == f2.a1, f1.a2 == f2.a2 <=> memcmp (f1, f2) == 0;

我认为它也应该适用于 NonFlat 结构。但是,在我的编译器中,对于非平面结构,即使成员属性相等,memcmp 的结果也表明它们是不同的。

0 投票
0 回答
371 浏览

c++11 - 试图在 C++ 中快速反向 memcmp

我需要尽快比较两个 char 数组并返回哪个更大。通常我会使用 memcmp 但不幸的是,我的工具只有一个指针指向以相反顺序存储的数据,或者换句话说,指向 LSB。我已经读过这个问题:How to do reverse memcmp? ,但自从 2011 年有人问 c 我希望从那时起有一些改进。在这里查看第一个答案为什么 memcmp 比 for 循环检查快得多?,应该有一个方向标志可以解决我的问题,但是我根本没有在 c++ 中嵌入汇编代码的经验,所以调试或向其他人提供任何支持对我来说是不可能的。

自从第一次提出这个问题以来,是否有任何内置版本的反向 memcmp 已发布?有什么建议么?

0 投票
1 回答
961 浏览

c++ - c++ 字符串模式匹配缓冲区数据

我有来自脚本的入站缓冲区数据,我需要 key => 'value' 以便我可以针对它运行数学方程(是的,我知道我需要转换为 int)。由于我确定数据是字符串,因此我尝试对其进行模式匹配。我看到了入站数据,但我从来没有得到一个肯定的匹配。

代码:

print_f() 的数据输出:

我将如何到达 ["total"] 并将 # 3 添加到其中?[“总数”]+3?

0 投票
4 回答
1371 浏览

c++ - C/C++ 中最快的 u_int64_t[8] 数组比较

u_int64[8]在 C/C++中比较两个数组的最快方法是什么?

数组 1 在std::vector(约 10k 个元素)内,数组 2 在动态分配的结构内。(memcmp()这里有误报吗?)

我的(伪 C)实现:

目标平台是Linux x86_64 gcc 4.9.2,循环在a里面pthreadtcmalloc使用,代码用-O2编译

0 投票
1 回答
1516 浏览

c++ - 更快的内存比较相等 16 字节块比 memcmp

我必须在一个对性能非常敏感的地方比较相等的 16 字节内存块。

这些块总是完全对齐的,它们总是正好是 16 个字节。在我看来,我应该能够利用这些知识并提出比逐字节比较更好的方法。

事实上,我相信大多数 memcmp 实现都会这样做,但显然它会花费一些时间来分析地址和大小。就我而言,它没有,但它仍然更快:

我尝试通过实施 32 位检查来优化它,但它并没有表现得更好。可能是因为 memcmp 使用处理器指令,而我的自定义 C++ 代码没有。

对于这种情况,有什么想法比 memcmp 更快吗?

0 投票
1 回答
235 浏览

c - Memcpy func 取指针变量?字符 *p; 字符* q; memcpy(p,q,10); 它会起作用吗?

Memcpymemcmp函数可以带一个指针变量吗?

0 投票
6 回答
6234 浏览

c++ - memcmp vs 多重相等比较

前提条件:考虑这样一个类或结构T,对于两个对象ab类型T

产生相同的结果

(memberN是 ) 的非静态成员变量T

问题:什么时候应该memcmp使用比较ab相等,什么时候应该使用链式==s?


这是一个简单的例子:

要重载运算符==for vector,有两种可能性(如果保证它们给出相同的结果):

或者


现在,如果要添加一个新成员vector,例如一个z组件:

  • 如果==使用 s 来实现operator==,则必须对其进行修改。
  • 如果memcmp改为使用,则operator==根本不必修改。

但我认为使用 chained ==s 传达了更清晰的含义。虽然对于一个T拥有许多成员的大型memcmp来说更具诱惑力。此外,使用memcmpover ==s 是否会提高性能?还有什么要考虑的吗?

0 投票
1 回答
288 浏览

c - 具有 char 成员的结构的自定义 memcmp()

我编写了以下 C 代码来比较两个内存区域并检查它们是否相同

结构是相同的,但无论如何它都会返回 -1。经过一些调试后,我发现 char 变量后面的 3 个填充字节填充了随机数据,而不是我期望的零。

知道这一点以及我希望尽可能保持通用性的事实(因此使用 void* 作为参数),有人可以指出我的替代字节对字节比较吗?

(在有人问之前,我正在编写一个自定义 memcmp() 因为在某些实现中它会在不同之后继续

0 投票
1 回答
595 浏览

c - 比较两个无符号字符结构和位域

我有一个包含无符号字符和位域的结构:

我想将此结构与自身进行比较。我保留了这个结构的两个副本,我只想检查与它的第一个副本相比是否有任何变化。

在这里使用 memcmp() 是否安全?真正的结构有 50 多个成员,它们都是无符号字符或位。

0 投票
1 回答
596 浏览

c# - c# memcmp 图像比较错误

我正在尝试使用该memcmp方法比较 2 个小图像块。我看到了这个答案我可以比较两个相同大小的位图以确定它们是否相同的最快方法是什么? 我试图在我的项目中实现这一点:

这是方法-

memcmp我在调用函数时收到此错误

知道为什么会这样吗?我都是根据那个答案做的。