0

我尝试了一个简单的 NDK C++(与 C 的语法完全不同!)hello world,它可以工作。

现在我想用 NDK 编译我非常大的 C++ 文件。

我需要重命名我的main()吗?我注意到一些使用 的帖子android_main(),还是应该使用标准的 package.class.method?并用优秀包围他们!它是这样工作的:

extern "C" {
JNIEXPORT jstring JNICALL
  Java_com_optimuse_app_OptimuseAppActivity_generate(JNIEnv* env, jobject thiz){}

但是我可以将我的 main 重命名为这样的名称吗?或者我应该使用android_main。互联网上的许多帖子让我感到困惑。

另外,我不确定我需要对所有包含的内容做什么。我有一堆喜欢<algorithm.h>和我自己的 .h 文件。

感谢您帮助我完成约定。

4

1 回答 1

0

好的,我让它工作了:我从 Mk 文件中省略了我的 .h 文件。我从java将它添加到main(重命名为main1)的底部:

extern "C" {

JNIEXPORT jstring JNICALL Java_com_example_optimuse_MainActivity_generate(JNIEnv* env, jobject thiz);
};

JNIEXPORT jstring JNICALL Java_com_example_optimuse_MainActivity_generate(JNIEnv* env, jobject thiz){

    string str = main1();
    return env->NewStringUTF(str.c_str());

}
于 2012-07-05T08:00:49.047 回答