2

私はネイティブコードを含むAndroidプロジェクトに取り組んでおり、NDKでKissFFTライブラリを使用しようとしています。ただし、KissFFTで使用されるmakefileの以下の部分を理解するのに苦労しています。誰かが私にこれを説明できますか?

kiss_fft.s最初の行がターゲットとその前提条件を定義し、次の4行がレシピであり、その行3.4.がコンパイラコマンドであることを私は知っています。2.しかし、私は線を理解していません5.

1. kiss_fft.s: kiss_fft.c kiss_fft.h _kiss_fft_guts.h
2.   [ -e kiss_fft.s ] && mv kiss_fft.s kiss_fft.s~ || true
3.   gcc -S kiss_fft.c -O3 -mtune=native -ffast-math -fomit-frame-pointer -unroll-loops -dA -fverbose-asm 
4.   gcc -o kiss_fft_short.s -S kiss_fft.c -O3 -mtune=native -ffast-math -fomit-frame-pointer -dA -fverbose-asm -DFIXED_POINT
5.   [ -e kiss_fft.s~ ] && diff kiss_fft.s~ kiss_fft.s || true

どんな助けでも大歓迎です!

4

1 に答える 1

3

Line2.は、アセンブリコード(kiss_fft.s)が存在する場合はバックアップファイルに移動し、存在しない場合はtrueステータスを返すため、次の行が実行されます。

5.は、gccからの前のアセンブラ出力と、前の出力があった場合の現在の出力との違いを示しています(ステップによってkiss_fft.s〜に移動されました2.)。

于 2012-03-05T16:18:11.627 に答える