gcc -S不工作?

时间:2012-12-07 11:49:09

标签: gcc assembly g++

我试着看看g ++生成的汇编代码。正常的方式是-S。由于我还想要相应的源代码,我正在添加-fverbose-asm。 (无论有没有尝试过。)

我希望生成.s个文件,但没有。{/ p>

我做错了什么?

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"

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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