0
ターゲットをARMプラットフォームとしてGNUアセンブラを使用してアセンブリコードをコンパイルしようとしています。 しかし、いくつかのエラーが表示されます。私はアセンブリ文法に慣れていない。GNUアセンブラでコンパイルエラー '無効なオペランドinline asm'
誰でもこのエラーを回避する方法を教えていただけますか?
error: invalid operand in inline asm: 'str ${2:Q}, $0
str ${2:R}, $1
このコンパイルエラーがここに起因するインラインアセンブラコード:
static av_always_inline void AV_WN64(void *p, uint64_t v)
{
__asm__ ("str %Q2, %0 \n\t"
"str %R2, %1 \n\t"
: "=m"(*(uint32_t*)p), "=m"(*((uint32_t*)p+1))
: "r"(v));
}
不平を言っているソース行も投稿してください。 – jcopenha
インラインasmコードは、ffmpeg、libavutil/arm/intreadwrite.hから取得します。上記のコードを追加します。 – ciphor