代码:http://paste.pocoo.org/show/422081/(缺少404链接)。

好吧,所以我尝试不使用通用的内存块,并确定我已经完成了笨拙的转换,并认为我会进入内联汇编(我认为它实际上提高了可读性)。我已经设法将此段错误缩小到一个特定的功能。它在粘贴的第22行。

但是,它总是存在段错误。如您所见,str作为argv [1]传递。

我可以手动对argv [1]进行处理(例如argv[1][0] = 'q'),因此我不确定为什么它不起作用,尤其是考虑到在nots的较早版本中它成功地运行了not8not2。有什么我不知道的时髦事情吗?这是怎么了

同样,泛型代码审查也很好;我刚接触C。

最佳答案

您的问题是password变量。您只分配一个元素,然后在password++循环中执行for。因此,第二次执行循环时,您将不在任何地方。

该代码表明您正在使用的概念过于复杂,目前尚无法掌握。

  • 当您不进行内联汇编
    尚不知道如何处理
    指针。
  • 不要强制返回malloc
  • unsigned char通常是
    检查个人的正确类型
    对象的字节数。
  • 关于c - GCC +内联汇编-Notl发生意外的Segfault,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6502219/

    10-12 18:11