2017-11-22 7 views
1

AndroidスタジオでNDKを使用してC++コードをコンパイルしようとしています。 私のC++コードの中には、非常に大きなunsigned char配列を格納した画像データヘッダがいくつかあります。私はスタンドアロンのNDKで問題なくコンパイルできます。大きなC++ヘッダファイルでAndroid Studioがクラッシュする

Androidスタジオの中で、これらの画像データヘッダーファイルを含めると、Androidスタジオは100%のCPU負荷でフリーズします。

Android Studioには設定がありませんか?この問題をどのように解決すればよいですか?私はAndroid Studioの中でコードをコンパイルしたいので、C++コードの中を踏むことができます。そして、画像データはプログラム内でコンパイルしなければなりません(別ファイルではありません)。今のところ

更新

Begin of Unsigned char array of Image Data enter image description here

、ザは、(代わりに、ヘッダー内部規定の)ヘッダを含める前に、私は、CPPの内部に一度に#pragmaを使用しようとし、それが働くだろう。しかし、ヘッダ内にインクルードガードや#pragmaを入れても、Android Studioはフリーズします。私はプラグマをなぜ一度理解していないと私はヘッダーの中に入れてガードが含まれていない動作が含まれています。

pragma one

+0

は、それが実際に凍結ますか?十分に長い時間(24時間)コンパイルしましたか? – xyious

+0

*どれくらいの大きさですか?配列データの97000行はかなり巨大で、あなたは*カップル*と言っています。あなたはAndroid用にどのようなメモリ豚を書いていますか? –

+0

ヘッダーファイルは7.3MBで、1つの符号なし文字配列 – chan3600

答えて

0

は今のところ、私は問題を解決しました。 ヘッダーファイルにchar配列を定義する代わりに、 char配列をcppファイルに移動し、global.hヘッダーを作成します。これは次のようになります。 Android Studioは今フリーズしません。

GLOBAL.H

#ifndef GLOBAL_H 
#define GLOBAL_H 

    extern const unsigned char image_data1[]; 
    extern const unsigned char image_data2[]; 

#endif // GLOBAL_H 
関連する問題