cmesunoom 发表于 2011-03-23 08:52

风河编译器 c里如何嵌入汇编

static int __ilog2(unsigned int x)
{
        int lz = 0;

        asm ("cntlzw %0,%1" : "=r" (lz) : "r" (x));
        return 31 - lz;
}以上代码GCC下可以编译通过,在风河下编译出错,错误提示:Unsupported GNU extension: inline assembly statement

看手册风河对c中嵌入汇编的,可惜没看懂,希望大家帮忙解答一下,谢谢啦

EricFisher 发表于 2011-03-23 10:31

表示不支持GNU扩展的嵌入汇编语法,所以,你还是需要看看手册。

cjaizss 发表于 2011-03-23 11:01

不同编译器嵌汇编的手段当然不一样,多看看它的帮助文档

L_kernel 发表于 2011-03-24 17:03

以上代码GCC下可以编译通过,在风河下编译出错,错误提示:Unsupported GNU extension: inline assembly st ...
cmesunoom 发表于 2011-03-23 08:52 http://bbs.chinaunix.net/images/common/back.gif用intel的格式看看。在内嵌的开头加上.intel_syntax,估计可能不行,不过是尝试一下。
`as' now supports assembly using Intel assembler syntax.
`.intel_syntax' selects Intel mode, and `.att_syntax' switches back to
the usual AT&T mode for compatibility with the output of `gcc'.

灌水菜鸟 发表于 2011-03-25 22:14

这种问题问风河呗。
页: [1]
查看完整版本: 风河编译器 c里如何嵌入汇编