![]() |
#2
zklhp2012-01-04 12:22
|

int main()
{
__asm__("
mov $1,%eax
xor %ebx,%ebx
int 0x80
")
}
这是一段很简单的代码,摘自网上很普遍的关于GCC内嵌汇编的资料。
编译报错:
asm.c:3:10: warning: missing terminating " character
asm.c: In function 'main':
asm.c:3: error: missing terminating " character
asm.c:4: error: expected string literal before 'xor'
asm.c:5:12: warning: missing terminating " character
asm.c:5: error: missing terminating " character
请教如何解决。
int main()
{
__asm__("xor %ebx,%ebx\n\t"\
"mov $1,%eax\n\t"\
"int $0x80");
}
这种形式没有问题
{
__asm__("
mov $1,%eax
xor %ebx,%ebx
int 0x80
")
}
这是一段很简单的代码,摘自网上很普遍的关于GCC内嵌汇编的资料。
编译报错:
asm.c:3:10: warning: missing terminating " character
asm.c: In function 'main':
asm.c:3: error: missing terminating " character
asm.c:4: error: expected string literal before 'xor'
asm.c:5:12: warning: missing terminating " character
asm.c:5: error: missing terminating " character
请教如何解决。
int main()
{
__asm__("xor %ebx,%ebx\n\t"\
"mov $1,%eax\n\t"\
"int $0x80");
}
这种形式没有问题
[ 本帖最后由 naruto01 于 2012-1-3 22:08 编辑 ]