インラインアセンブリコードでラベルを使用しようとすると、理解不能なEAX_BAD_ACCESS
エラーのために、アサンプトasmステートメントの直後にアプリケーションがクラッシュします。gccのインラインアセンブリでラベルを使用すると奇妙な悪いアクセスエラーが発生します
たとえば、次のコードを考えてみます。
asm volatile (
"myloop: \n"
:
:
:
);
はなぜいつもこのスニペットクラッシュの原因を?私はgcc 4.2でXcode 4.3.1を使用しています。
通常、スニペットはクラッシュしません。そのコードだけを使用しているときにアプリケーションがクラッシュすることは確実ですか?そうでない場合は、周囲のコードを入力してください。 – Job
はい、そうです。私はちょうど新しい空のiosアプリケーションを作成し、AppDelegateの起動メソッドのどこかにこのコードを挿入しました。私がシミュレータから起動すると、すべて正常に動作しますが、私のiPhoneから起動すると、直ぐには分解できないEAX_BAD_ACCESSエラーが発生し、いくつかのランダムな逆アセンブリコードが表示されます。このコードがなければ、アプリは正常に起動します。 –