问题标签 [cmp]

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 投票
1 回答
350 浏览

linux - linux cmp 实用程序输出:什么是“行”?

有人能告诉我 cmp 命令输出中的“行”号代表什么吗?我问这个是因为,首先,我在任何地方都找不到它的解释。其次,我得到比较一组文件的结果,其中“char”输出相同(如预期)但“line”输出差异很大。

0 投票
1 回答
87 浏览

linux - 比较Linux中多个文件的文件名和md5sums

我正在编写一个 bash 脚本,它将图像从一个目录(及其所有子目录)复制到另一个目录。

到目前为止,我有这个:

这行得通,但问题比这更复杂。有两种情况:

  • 一些图像具有相同的名称,但不同。在这种情况下,只需在名称末尾添加第二个“.JPG”即可对其进行重命名。
  • 但是,如果两个文件具有相同的名称并且是相同的文件,则应仅将一个复制到输出目录,而将另一个的绝对路径写入文本文件-duplicates.txt。

我在想我需要在文件名上使用 cmp 然后 md5sum 来检查相同的文件,但我不确定如何在文件名上使用 cmp ,或者这是否可能。

提前感谢您的帮助!

0 投票
0 回答
215 浏览

assembly - 为什么在汇编中没有用 cmp -75、55 设置标志标志?

我在我的教科书中有一张表格(从 dandamudi 的介绍到汇编,第 249 页),上面写着当你执行这段代码时:

未设置符号标志但溢出。这对我来说毫无意义,因为通过本章和我研究过的所有地方,它都说如果操作的结果可以解释为负数,则设置标志标志,并且没有参考任何其他情况。我知道 cmp 指令通过减法测试而不改变目标,那么为什么在这种情况下只设置溢出标志?这张表是为了表明 的条件Snum1 < Snum2SF != OF

0 投票
3 回答
21885 浏览

python - 使用 cmp 在 Python 中排序()

我正在尝试对列表进行排序,将所有 0 移到列表末尾。示例:[0,1,0,2,3,0,4]->[1,2,3,4,0,0,0]

我看到有人用 1 行代码

但我不明白括号内的意思。

谁能告诉我?谢谢你。

0 投票
2 回答
1729 浏览

awk - 使用 awk 打印文件而不添加尾随换行符

我正在使用 awk 处理一些程序文件,删除调试部分。其中一些文件没有尾随换行符。我想让 awk 使用换行符逐行打印文件,但如果不存在,则不要在末尾添加额外的换行符。

例如

正在变成这样:

我不想添加这个换行符的原因是我试图用来cmp --silent $file $file_without_debug_sections确定是使用原始文件还是新文件。我关心的原因我试图限制在我的编译器输出中具有调试扩展名的文件的数量。只有在不同的情况下才使用非调试版本,也可以清楚地知道哪些文件被这个“删除调试部分”过程更改了。

总而言之,我怎样才能让 awk 逐行浏览文件,但如果不存在则在末尾不添加换行符?

我当前的代码如下所示:

我尝试printprintf "%s", $0. 但随后它会从每一行中省略一个换行符。

0 投票
0 回答
462 浏览

assembly - 涉及比较的汇编代码

我对使用“cmp”的指令感到困惑。它将指向 0x27(%esp) 的内容与 %eax 进行比较。

但是,当我尝试查看 0x27(%esp) 内部的内容时,它只会给我一个异或。

%al 的内容也是十进制的 65。我不明白 cmp 发生了什么。你能有一条指令将另一条指令 XOR 与寄存器的值进行比较吗?结果是什么?

注意:0x414141 是因为我插入了之前的 scanf 3 A。

0 投票
1 回答
1052 浏览

c - 新秀组装炸弹拆除 cmp 操作员

我是组装新手,真的不知道发生了什么。

我正在尝试完成一项家庭作业,其中我们必须通过找出程序五个阶段的正确输入来拆除炸弹。

我试过在网上寻找我的问题的答案,但我真的不知道要搜索什么来找到我正在寻找的答案。

我相信我理解下面代码中从<+0>到的所有内容<+35>。在<+40>cmp 运算符被调用来比较$0x2, 和存储在%eax寄存器中的内容。在比较时,我相信%eax仍在存储对 scanf 的函数调用(如果我错了,请纠正我)。

通过使用 gdb,我知道 scanf 函数的调用如下: scanf("%d %d", &x, &y);

那么在这种情况下到底$0x2指的是什么(它只是值 2?)以及比较这两个项目时发生了什么?

我相信这是 GAS 语法。

0 投票
1 回答
4933 浏览

assembly - 比较汇编中的整数值

我们的任务是比较整数值并打印出适当的提示以显示哪些值更大。

我在下面编写的代码分别将“i”和“j”初始化为 5 和 4。目标是比较“变量”而不是直接值本身。所以在这个例子中,我把 'i' 和 'j' 放在 cmp 中,而不是 5 和 4。

我可能会提出两个问题:

  1. CMP dword [i], dword [j]产生错误:操作码和操作数的无效组合;但我使用先前调用/代码行中的 printf 函数成功恢复了值。这是为什么?
  2. 我尝试将dword [j]替换为立即数,例如 CMP dword [i], 9。它确实打印出正确的提示,但使程序没有响应。这是为什么?

请注意,我正在运行 Windows 8 Intel 32 位,此代码已在 DoSBox 中运行的 NASM 和 CMD 中的 GCC 中“编译”。

我是一个完全的初学者,任何帮助将不胜感激。谢谢!

0 投票
2 回答
299 浏览

assembly - ARM 汇编 - CMP 错误输出

我正在研究 ARM 程序集(Raspberry pi)中的程序,但我遇到了问题。

我有这段代码,但下半部分总是在执行(skip$)。

我错过了什么?

调试功能只是通过 UART 将 r0 - r4 发送到我的电脑。

当我运行这个时,最后,r3 是 7。应该仍然是 4。

提前致谢

劳伦斯·伍兹

编辑:这是使用的其他功能。

第二次编辑:我已使用此代码设置堆栈指针。

这是我的链接器:

0 投票
4 回答
26562 浏览

python - 按字母顺序排序字符串列表

所以我有一个问题,我该如何对这个列表进行排序:

['Pera','mela','arancia','UVA']

变成这样:

['arancia','mela','Pera','UVA']

在练习中,它说使用sorted()带有 cmp 参数的函数。