Variable publica gcc

Post Reply
jgayoso
Posts: 170
Joined: Sat Aug 07, 2010 11:36 pm
Location: Chile

Variable publica gcc

Post by jgayoso »

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?
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Variable publica gcc

Post by Antonio Linares »

Jorge,

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...
 
opcionalmente puedes declararla como static si quieres no hacerla accesible a otros modulos en C:

static JNIEnv* env = NULL;
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply