我试着看看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"
答案 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