代码:http://paste.pocoo.org/show/422081/(链接404缺失)。GCC +内联汇编 - notl上意外的段错误
好吧,所以我试图不通用块的内存,并决定我做了愚蠢的铸造diddling,并认为我会下降到行内大会(我认为它实际上提高了可读性)。我设法将此段错误缩小为一个特定的功能。它在粘贴的第22行。
然而,它总是segfaults。正如你所看到的,str是作为argv [1]传递的。
我可以做手工的东西做argv [1](例如argv[1][0] = 'q'
),所以我不完全知道为什么,不是不工作,特别是考虑到此前在nots
它成功运行not8
和not2
。有没有什么新奇的事情我不知道?这里有什么问题?
此外,一般的代码审查会很好;我相当陌生C.
在什么电脑上运行?你使用eax作为指针,但是如果你有64位计算机/系统,你必须使用rax(也许not8和not2只是意外不要segfault)。 – flolo
你的not13函数遗漏了字符串的一个字节(字节12),如果这是无意的,你可能想要修复这个问题 – Necrolis
@flolo我认为这样做!现在我将让它突然离开,看看我的算法是否有效;)。 @Necrolis Eep!好眼睛。 –