我正在尝试将 NDK 与 Android Studio 结合使用来编译我的 C++ 代码。 在我的 C++ 代码中,我有几个存储非常大的无符号字符数组的图像数据头。我可以毫无问题地使用独立的 NDK 编译代码。
但是在 Android studio 中,如果我包含那些图像数据头文件,Android studio 将卡住 100% CPU 负载。
我在 Android Studio 中缺少设置吗?我应该如何解决这个问题?我想在 Android Studio 中编译代码,这样我就可以在 C++ 代码中逐步执行。并且,图像数据应该在程序内部编译(而不是单独的文件)。
已更新
现在,我尝试在包含 header 之前的 cpp 中使用#pragma once(而不是在 header 中定义),它会起作用。但是,如果我将 include guards 或 #pragma once 放在 header 中,Android Studio 仍会卡住。我不明白为什么如果我把 pragma once 和 include guards 放在标题中就不起作用。
最佳答案
现在,我解决了这个问题。 而不是在头文件中定义 char 数组。 我将 char 数组移动到 cpp 文件并创建一个 global.h header ,如下所示。 Android Studio 现在不会卡住。
全局.h
#ifndef GLOBAL_H
#define GLOBAL_H
extern const unsigned char image_data1[];
extern const unsigned char image_data2[];
#endif // GLOBAL_H
关于c++ - Android Studio 因大型 C++ 头文件而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47425239/