Xcode 3.1.3を使用している私のCocoa Touch iPhoneアプリケーションからC++ライブラリ(CLucene)を使用しようとしています。 iPhoneのシミュレータを実行するとすべてうまく動作しますが、デバイスを実行すると状況が変わってしまいます。ポインタがObjective-C++コード(私のアプリ)からC++ライブラリ(CLucene)に正しく渡されていないようです。iPhoneアプリのC++コード
デバイス上でアプリケーションをデバッグする際、Objective-C++の0x12546c0からC++の0x4eへのC++関数の変更にパラメータとして渡されたconst char *変数を見ることができます。 0x4eは有効なconst char *を指していないので、C++コードは失敗します。これは、シミュレータでのデバッグ時には発生しません。
私はC++ライブラリをアプリケーションに直接コンパイルしており、静的ライブラリや動的ライブラリにはリンクしていません。
ご協力いただければ幸いです。
本当ですか?私は、たくさんのフロートを使用するプログラムのスピードを上げることができると聞いてきました。しかし、私はあなたの質問にこの答えを期待していないだろう。 – Nosredna
コードのスピードアップについても同じことを聞いたことがありますが、この場合は「コンパイル用」を有効にすることで問題を再現できます。私はそれがなぜ、なぜこのC++コードにリンクするときにのみ起こるのかは分かりませんが、明らかに影響があります。 –