Consulta:
Necesito inicializar una variable publica en C al iniciar mi aplicativo y cargarla con un valor, después seguir normalmente mi aplicativo y cuando la necesite pasarla a las rutinas de c que tengo en el sistema.
JNIEnv* env = create_vm()
la variable "env" es la que quiero que sea publica, así la maquina virtual de Java siempre esta abierto y la utilizo cuando quiera, solo voy cambiando las clases a utilizar.
¿Es factible hacer esto y como?
Variable publica gcc
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Variable publica gcc
Jorge,
Puedes hacerlo sin problema:
opcionalmente puedes declararla como static si quieres no hacerla accesible a otros modulos en C:
static JNIEnv* env = NULL;
Puedes hacerlo sin problema:
Code: Select all
#pragma BEGINDUMP
#include <stdio.h>
#include <jni.h>
#include "fasaJpos.c"
JNIEnv* env = NULL;
HB_FUNC( FASAPRINT )
{
jclass clase;
jobject obj;
int out;
int i;
char linea[80];
//esta comprobacion tienes que hacerla siempre antes de usar env
if( env == NULL )
env = create_vm();
continua tu codigo...
static JNIEnv* env = NULL;