0

我正在尝试在我的 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)
);
4

1 回答 1

1

该代码绝对是gcc风格的内联汇编程序,而不是微软风格。

我相信它可以被替换为:

 rt = ((int64_t)a * b) >> shift;
于 2013-07-02T15:51:24.633 回答