求解gcc编译c内联汇编标号报错的一个问题
使用gcc编译c语言内联汇编使用-O优化时,是标号部分报错,请问有知道怎么解决的吗?
unsigned long strcpy0(char* dst,const char* src) { __asm__ __volatile__ ( ".intel_syntax noprefixn" "POS2:n" "lodsbn" "stosbn" "test al,aln" "jnz POS2n" : : :"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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
引用来自“中山野鬼”的评论
这事帮不了了。刚才随手测了一下,我的gcc 直接make是可以的。 如果用你上面的命令 -masm=intel 参数无法识别。。哈。 我的 gcc -v 的信息如下:
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.1.0
Thread model: posix
好的,谢谢你,查找了好长时间没有找到解决办法
这事帮不了了。刚才随手测了一下,我的gcc 直接make是可以的。 如果用你上面的命令 -masm=intel 参数无法识别。。哈。 我的 gcc -v 的信息如下:
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.1.0
Thread model: posix