#include <jni.h中> の#include <string>に する#include <stdio.hに> する#include <STDLIB.H> の#include "logs.h" CHAR * FA(){ // CHAR * PA = "123456"; / / PAポインタスタック領域、「123456」、一定の領域において、関数呼び出しポインタ変数PAが放出された後 のchar * p = NULL; //ポインタ変数pを4バイトスタック上に割り当てられ 、P =(CHAR *) malloc関数(100); //この関数は、本明細書にヒープメモリ領域とPに割り当てられたアドレスまで開かれる (「1234566をwudunxiong」、P)strcpyのを; //ヒープ領域に文字列定数領域をコピー 戻りP ; //呼び出し関数FBに戻る()、比較的FA、FBを話すこと呼び出す関数である、主相対的に言って、 // FA()、FB()関数と呼ばれる } のchar * FB(){ CHAR * = NULL PSTR; PSTR FA =(); 戻りPSTR; //これは、ポインタ変数PSTRを終了 } ボイドselectSort(INT * P、int型N){ // LOGE( "%D \ n"は、P [0])。 int型TMP; 以下のために(INT I = 0、I <N - 1; I ++){ ため(INT J = I + 1、J <nであり、j ++){ IF(P [i]が> P [J]){ TMP = P [I ]; P [I] = P [J]。 P [J] = TMP。 } } } } のchar * getMem(CHAR ** P、INT N){ * P =(CHAR *()はmalloc(N))。 もし(* P == NULL)戻りNULL; * Pを返します。 } ボイドdisplayArray(INT(* P)[4]、INT n)は{ {ためには(; I <N I ++ INT iは= 0) のための(INT J = 0; J <4; J ++){ //のprintf(」 %のD」、*(*(P + I)+ J))。 LOGE( "%d個"、*(*(I + P)+ J)); } のputchar(10)。 } } int型main_s(){ LOGE( "はsizeof(CHAR *)は\%D = N"はsizeof(CHAR *))。 LOGE( "はsizeof(ショア*)\%D = N"はsizeof(ショート*))。 LOGE( "はsizeof(INT *)\%D = N"はsizeof(INT *))。 LOGE( "のsizeof(長い長い*)%D \ = N"はsizeof(長い長いです*))。 LOGE(、はsizeof(ダブル*) "はsizeof(ダブル*)は%D \ N =")。 LOGE( "はsizeof(INT(* P)[5])%D \ N ="はsizeof(INT(*)[5]))。 0を返します。 } のextern "C" JNIEXPORT JSTRING JNICALL Java_com_massky_chars_1s_MainActivity_stringFromJNI( JNIEnvの* ENV、 std ::文字列こんにちは=「こんにちはC ++から」。 main_s()。 }
ログ内のJNIの代わりにprintf関数で印刷することができます
おすすめ
転載: blog.csdn.net/u014644594/article/details/104992992
ランキング