Ahojte hraji si s přenosem struktury mezi Javou a čistě Cčkem přes *.dll. Potřebuji pomoci jestli někdo ví k úpravou kódu v Cčku. Nejsem Cčkař a potřebuji pomoci s zdrojem v cčku. Nevím jak přenést strukturu(objekt) do dane metody. Neboli jak dostat do "testObjekt1" celý objekt "objTriHodnot". Kód této primitivni metody jenz ma navratovy typ int ma provést pouhe secteni těch tří čísel. ( je to jenom testovací příklad k pochopení problematiky ). Problém u druhé metody je identicky ovšem v tomto případě je navratový typ struktura(objekt), jejiž cisla se zvysi o +1. Díky, jestli to někdo bude vědět.
public class HlavniTrida {
private static class testTrida {
int cislo1,cislo2,cislo3;
testTrida(int cis1,int cis2,int cis3){ // konstruktor
this.cislo1=cis1;this.cislo2=cis2;this.cislo3=cis3; } }
native static int vstupObjekt(testTrida objekt);
native static testTrida vstupVystupObjekt(testTrida objekt);
public static void main(String [] args) {
testTrida testObjekt1 = new testTrida(10,11,12);
testTrida testObjekt2 = new testTrida(100,101,102);
}
}
Zde je header : HlavniTrida_testTrida
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HlavniTrida_testTrida */
#ifndef _Included_HlavniTrida_testTrida
#define _Included_HlavniTrida_testTrida
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif
A zde je header : HlavniTrida :
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
#include "HlavniTrida_testTrida.h"
/* Header for class HlavniTrida */
#ifndef _Included_HlavniTrida
#define _Included_HlavniTrida
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HlavniTrida
* Method: vstupObjekt
* Signature: (LHlavniTrida/testTrida;)I
*/
JNIEXPORT jint JNICALL Java_HlavniTrida_vstupObjekt
(JNIEnv *, jclass, jobject);
/*
* Class: HlavniTrida
* Method: vstupVystupObjekt
* Signature: (LHlavniTrida/testTrida;)LHlavniTrida/testTrida;
*/
JNIEXPORT jobject JNICALL Java_HlavniTrida_vstupVystupObjekt
(JNIEnv *, jclass, jobject);
#ifdef __cplusplus
}
#endif
#endif
A zde je zdroják HlavniTrida.c
#include <jni.h>
#include <stdio.h>
#include "HlavniTrida.h"
#include "HlavniTrida_testTrida.h"
typedef struct _MyStruct {
int cis1;
int cis2;
int cis3;
} ObjektTest;
JNIEXPORT jint JNICALL Java_HlavniTrida_vstupObjekt (JNIEnv *env, jobject obj, jobject objTriHodnot) {
ObjektTest testObjekt1;
}
JNIEXPORT jobject JNICALL Java_HlavniTrida_vstupVystupObjekt (JNIEnv *env, jclass obj, jobject objektTriHodnot){
ObjektTest testObjekt2;
}