如何在Netbeans 7.4中编写扩展的GCC内联程序集?
我试图在Netbeans 7.4中编写一个示例GCC扩展内联汇编程序 编译器选项是如何在Netbeans 7.4中编写扩展的GCC内联程序集?,c,C,我试图在Netbeans 7.4中编写一个示例GCC扩展内联汇编程序 编译器选项是 gcc -masm=intel -O2 -c -g -O2 -std=c89 -MMD -MP -MF build/Debug/Cygwin_4.x-windows/main.o.d -o build/Debug/Cygwin_4.x-Windows/main.o main.c 显示的错误是 main.c: In function ‘main’: main.c:27:19: error: expected
gcc -masm=intel -O2 -c -g -O2 -std=c89 -MMD -MP -MF build/Debug/Cygwin_4.x-windows/main.o.d -o build/Debug/Cygwin_4.x-Windows/main.o main.c
显示的错误是
main.c: In function ‘main’:
main.c:27:19: error: expected ‘)’ before ‘:’ token
: [out]"=r"( op )
^
但代码在没有某些选项的情况下编译成功。我使用Cygwin(x86-x64)GCC工具链
代码是
int main()
{
unsigned *data = calloc ( 4 , sizeof (int ) );
unsigned sel , op;
scanf ( "%u%u%u%u" , data , data + 1 , data + 2 , data + 3 );
while ( scanf ( "%u" , &sel ) )
{
asm( "mov rcx, %[sel];"\
"and rcx, 3;"\
"mov rbx, %[data];"\
"mov %[out], [rbx+4*rcx]"
: [out]"=r"( op )
: [data]"p"( data ) , [sel]"r"( sel )
: "rcx" , "rbx"
);
}
printf ( "%u\n" , op );
return (EXIT_SUCCESS );
}
有什么办法解决这个问题吗?“但是代码似乎很完美。”我讨厌这种情况发生。不知怎的,我觉得你应该编辑你的问题