在mathops.h中的VS2005汇编代码中的ffmpeg编译无法编译

时间:2013-07-02 15:46:55

标签: c++ assembly ffmpeg

我正在尝试在我的vs2005中编译ffmpeg,但我对以下错误感到困惑:

libavcodec \ x86 / mathops.h(39):错误C2143:语法错误:缺少')'之前':'

其编译的代码是

  __asm__ (
    "imull %3               \n\t"
    "shrdl %4, %%edx, %%eax \n\t"
    :"=a"(rt), "=d"(dummy)
    :"a"(a), "rm"(b), "ci"((uint8_t)shift)
);

1 个答案:

答案 0 :(得分:1)

该代码绝对是gcc样式的内联汇编程序,而不是Microsoft样式。

我相信它可以被替换为:

 rt = ((int64_t)a * b) >> shift;