2011-08-11 8 views
2

プロジェクトの1つでは、NEONを使用して計算を最適化するファイルをARMアセンブリで作成しています。私はまた、現在、私はちょうどアセンブリで定義されているC関数をコメントアウトし、ちょうどCファイルにiOSデバイスの場合はARMアセンブリファイルをコンパイルするか、iOSシミュレータの場合は通常のCを使用するかを選択する方法

extern void myFunction(); 

を追加し、それがCで書かれていることを除いてまったく同じことを行い、ファイルを持っています。私は何をしたいのはCファイルに

#ifdef device 
extern void myFunction(); 
#else 
void myFunction() { 
    /* code here */ 
} 
#endif 

これを持っている私はまた、ARMアセンブリにプリプロセッサディレクティブを行う方法がわからないのアセンブリファイル内で似たようなしかし、イムが必要になります。

これをすべてまとめて、私がどのデバイスをビルドしているか、そしてプリプロセッサディレクティブをアセンブリで使用する方法を教えてくれるプリプロセッサ定義を探しています。あなたのアセンブリファイルで

#if defined __arm__ 
extern void myFunction(); 
#else 
void myFunction() { 
    /* code here */ 
} 
#endif 

#if defined __arm__ 
/* code here */ 
#endif 

(Xcodeのは、同様にファイルを.SするためにCプリプロセッサを適用する)あなたのCファイルで

答えて

3

+0

ありがとうございました!前と同じようなことがありましたが、プリプロセッサの定義TARGET_IPHONE_SIMULATORはアセンブリファイルでは使用できませんでしたが、__arm__はそのために破棄されました。 –

関連する問題