Variable publica gcc

Variable publica gcc

Postby jgayoso » Thu Aug 16, 2012 4:20 pm

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?
jgayoso
 
Posts: 167
Joined: Sat Aug 07, 2010 11:36 pm
Location: Chile

Re: Variable publica gcc

Postby Antonio Linares » Thu Aug 16, 2012 6:06 pm

Jorge,

Puedes hacerlo sin problema:

Code: Select all  Expand view

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


Return to FiveLinux / FiveDroid (Android)

Who is online

Users browsing this forum: No registered users and 1 guest