私は公表できないサードパーティ開発者のコンパイル済みCライブラリから関数を呼び出しています。問題は、アプリケーションがXcode 8
を使用して構築されているときに関数がエラーを返しますが、Xcode 7
を使用すると問題なく動作します。私はアプリケーション内の.mm
ファイルからライブラリ関数を呼び出しています。これが第三者図書館に起因する可能性があることはわかっていますが、これに影響を与える可能性のあるXcodeバージョンの変更点は何ですか?どこから始めたらいいのか分からず、ここにコードを貼り付けることはできません。.mmファイルは、Xcode 7でビルドされていてもXcode 8ではビルドされていない場合でも動作します。
0
A
答えて
0
私はこれを回避する方法を考えましたが、それがなぜそのように動作するのかはまだ分かりません。 エラーの原因がOptimization Level
であることがわかりました。 XCode 8では、最適化レベルを設定する必要があります。そうしないと、失敗します。
失敗した特定のソースコードは、このです:
char subject[256];
memset(&subject, 0x00, sizeof(subject));
strcpy(subject, "Test");
mail.emailSubject = subject
私はこれで上記のコードに置き換え:
mail.emailSubject = (char*)"Test";
を誰もが説明できる場合は、お気軽にどうぞ。ありがとう!
0
コードの最初のブロックは、スタックのchar配列を割り当てていて、それをemailSubjectに割り当てています。私はどのオブジェクトの型か分かりません。スタックメモリをコピーせずに単純に割り当てると、関数がスタックメモリを返すときにメモリが割り当て解除され、emailSubjectはダーティメモリを保持します。
"Test"を割り当てると、コンパイラは関数が返った後に割り当て解除されない静的変数として "Test"を割り当てます。
希望します。
関連する問題
- 1. XCode 7からXCode 8への自動アップグレードにyesと答えて、今度はアプリケーションがビルドされない
- 2. Xcode 4.3.1でビルドされていないサブプロジェクト
- 3. TestFlightでビルドされていてビルドが表示されていない
- 4. Xcodeとシミュレータがインストールされていても、デコシミュレータは動作しませんか?
- 5. Xcode 8サポートしていないiOS 7
- 6. Swift開発コードがXcode 8.xまたはXcode 7.xで動作しない
- 7. Java - どのバージョンの.jarファイルもビルドされていますか?
- 8. xcodeを使用してリンゴストアでビルドを表示していません8
- 9. filectime()(ファイルは手動で削除されても)変更されていない
- 10. xcode 3.2で作成されたビルドはIOS 5で実行されます
- 11. Xcode 8、イメージスライシングが動作していないようです
- 12. xcode 7.1 swift framework appはビルドされていますがアーカイブされていません
- 13. Jenkinsプロモートされていない場合はビルドを削除します
- 14. 条件が満たされていてもコードが動作しない場合
- 15. フレームワークにサポートされていないアーキテクチャが含まれています。Xcode 8
- 16. GoogleマップAPIが壊れても動作しても動作しない、そうでない場合
- 17. XCodeでターゲットを複製する場合、新しいファイルの変更も古いファイルに表示されます
- 18. 私のストーリーボードがxcode 6で作成された新しいxcode 8からビルドをアップロードできますか?アップルはそれを承認しますか?
- 19. ソースコードがXcode 8で動作しない
- 20. コールコンバーターターゲットプロパティ値が変更されていない場合でも
- 21. ファイルが変更されていない場合は、もう一度ダウンロードしないでください。
- 22. Xcode 8で自動生成されたSwift-Headerが壊れています
- 23. 実動ビルドでレンダリングされていない経路コンポーネントが返されます
- 24. Xcode 8でSwift3 Package Managerを使用していて、運がない場合
- 25. Xcode 9アプリが自動的にバックグラウンドでビルドされないようにする
- 26. 角4許容されていない値が挿入されていない場合でもフォームは有効
- 27. Xcode 8でストーリーボードにナビゲーションバーが表示されていません
- 28. Xcode 8テンプレートはどこに保存されていますか?
- 29. 実行時にjavenb.propertiesがMavenでビルドされていない場合
- 30. VSTSビルドでピックアップされないdacpacファイル(クラウドでホストされているエージェント)
環境を確認しましたか?すべての設定ファイル、初期化呼び出しなどは本当に同じですか?関数が同じパラメータで呼び出されているかどうかチェックしましたか? – clemens