asm("ldr r6, [r0, #__cpp(offsetof(X, y))]\t\n");
我無法使用以下命令以編譯上述聯彙編行:`__cpp`和gcc內嵌ARM彙編
arm-linux-gnueabi-gcc -c -lm -pg -O1 -g -pipe -fno-common \
-fno-builtin -Wall -march=armv7-a -mfpu=neon -mfloat-abi=softfp \
-mthumb-interwork -mtune=cortex-a9
錯誤日誌是:
{standard input}: Assembler messages:
{standard input}:74: Error: ']' expected -- \
`ldr r6,[r0,#__cpp(offsetof(VP8BitReader,buf_))]'
顯然__cpp
無法識別。有什麼建議麼?
'的asm( 「LDR R6,[R0,%0] \ n上」: 「J」(offsetof(X,Y)): 「R6」, 「R0」);'雖然它可能是最好讓編譯器通過註釋來賦予它們'r0'和'r6'的值。我的觀點是'J'是這個說明符。 –