关于LINUX C中嵌入汇编 破坏部分问题
下面这个定义
#define copy_page(from,to) \
__asm__("cld ; rep ; movsl"::"S" (from),"D" (to),"c" (1024))
:"cx","di","si")
编译时就显示
can't find a register in class 'AREG' while reloading 'asm'
去掉后面的破坏部分就能编译通过,但这样显然不行 虽然这里不会出问题
偶想知道 破坏部分要怎么用,以及这里为什么加了就报错!!!
我用的是GCC 3.2.2 内核是2.4.20-8
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
现在的编译器自动识别。不能加,加了反而错。
不加一样能正确执行。
哦 原来是这样
谢谢楼上解答 再问下有没有这方面的文档想看下