Bedingte Kompilierung in Assembler-Code (.s) für iPhone - wie?

Ich habe ein paar Zeilen Assembler-Arm-Code in einer .s-Datei. Nur ein paar Routinen, die ich aufrufen muss. Es funktioniert gut, wenn ich für das Gerät baue, aber wenn ich zu iPhone Simulator wechsle, erhalte ich "keine solchen Anweisungen" -Fehler. Ich habe versucht, Teile der .s-Datei mit den mir bekannten Bedingungen zu kompilieren:

#if !TARGET_IPHONE_SIMULATOR

Aber der Assembler erkennt diese Präprozessor-Direktiven (natürlich) und keine der bedingten Kompilierungstechniken für Assembler, an die ich mich erinnern oder die ich als funktionierend ansehen konnte, nicht für den Simulator. Ich sehe auch keine Projektoption in Xcode, mit der ich die Datei kompilieren könnte oder nicht, abhängig von der Zielplattform.

Gelöst:

Alles, was mir fehlte, war der richtige Import in der Assembler-Datei. Ich habe nicht daran gedacht, es hinzuzufügen, weil die Xcode-Syntax eine Präprozessor-Direktive in Grün (Kommentar) hervorgehoben hat, was mich davon ausgehen ließ, dass diese Befehle nicht erkannt werden, obwohl sie in Wirklichkeit einwandfrei funktionieren.

Das funktioniert:

#import "TargetConditionals.h"

#if !TARGET_IPHONE_SIMULATOR

... asm code here ...

#endif

Antworten auf die Frage(2)

Ihre Antwort auf die Frage