使用gcc编译c语言内联汇编使用-O优化时,是标号部分报错,请问有知道怎么解决的吗?
unsigned long strcpy0(char* dst,const char* src) { __asm__ __volatile__ ( ".intel_syntax noprefix\n" "POS2:\n" "lodsb\n" "stosb\n" "test al,al\n" "jnz POS2\n" : : :"rax","rbx" ); }报错信息如下:
gcc -masm=intel -O3 -c -o test.o test.c
test.c: Assembler messages:
test.c:7: Error: symbol `POS2' is already defined
test.c:7: Error: symbol `POS2' is already defined
test.c:7: Error: symbol `POS2' is already defined
这事帮不了了。刚才随手测了一下,我的gcc直接make是可以的。如果用你上面的命令-masm=intel参数无法识别。。哈。我的gcc-v的信息如下:
Configuredwith:--prefix=/Library/Developer/CommandLineTools/usr--with-gxx-include-dir=/usr/include/c++/4.2.1
AppleLLVMversion6.0(clang-600.0.57)(basedonLLVM3.5svn)
Target:x86_64-apple-darwin13.1.0
Threadmodel:posix
这事帮不了了。刚才随手测了一下,我的gcc直接make是可以的。如果用你上面的命令-masm=intel参数无法识别。。哈。我的gcc-v的信息如下:
Configuredwith:--prefix=/Library/Developer/CommandLineTools/usr--with-gxx-include-dir=/usr/include/c++/4.2.1
AppleLLVMversion6.0(clang-600.0.57)(basedonLLVM3.5svn)
Target:x86_64-apple-darwin13.1.0
Threadmodel:posix
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。