-1

我正在尝试查看 g++ 生成的汇编代码。正常的方式是-S。由于我也想要相应的源代码,所以我添加了一个-fverbose-asm. (我尝试了有和没有。)

我希望.s生成一个文件,但没有。

我究竟做错了什么 ?

Invoking: Cross G++ Compiler
arm-angstrom-linux-gnueabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -flax-vector-conversions -S -fverbose-asm -DNAMESPACE -I/usr/local/angstrom/arm/lib/gcc/arm-angstrom-linux-gnueabi/4.3.3/include -O2 -Wall -c -fmessage-length=0 -Wl,-rpath-link,/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/lib,--hash-style=gnu -mthumb-interwork -mno-thumb -isystem/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -fpermissive -fPIC  -mfpu=neon -MMD -MP -MF"Src/Kernel Filters SSEI.d" -MT"Src/Kernel\ Filters\ SSEI.d" -o "Src/Kernel Filters SSEI.o" "../Src/Kernel Filters SSEI.cpp"
4

2 回答 2

1

您的程序集输出是文件Src/Kernel Filters SSEI.o

另一个问题是-MT似乎使用不正确,它导致生成的依赖项的目标是依赖项文件本身,而不是目标文件。

于 2012-12-07T11:55:02.730 回答
0

您不应该有任何-o选择 GCC 来获取.s文件。你传递-fverbose-asm -S给它是正确的。您可能需要一些优化,例如-O1

我怀疑您的Src/Kernel Filters SSEI.o文件可能包含汇编代码。我还强烈建议您在源文件名或目标文件名中避免使用空格。给它命名Kernel_Filters_SSEI.cpp

于 2012-12-07T11:50:13.283 回答