[C] Funciones CallBack


Objetivo: [C] Funciones CallBack
Siiiiiiiii!!!!!!!!!!!!!

Hace rato andaba dando vueltas con un tema que nunca pude resolver: Como hacer que un programa de signos de vida durante una larga rutina en C sin alterar la velocidad de calculo.

C es 100 veces mas rapido que gambas y puede acelerar un programa que requiera, en algunos momentos, mucho procesamiento. Gracias al bueno de Benoit, gambas permite ser llamado desde "afuera", o sea desde otro programas no-Gambas o librerias. A modo de ayuda-memoria, lo explico:

Modulo con las declaraciones de la libreria C
Library "matrix8" ' libreria externa en C

' Rutina que resuelve un sistea de ecuaciones con el metodo de Gauss
' al final de los argumentos, especifico la funcion de gambas que la libreria C va a llamar cada tanto para dar informacion de como va el proceso
' se declara como Pointer
Public Extern M8gauss(mfMatriz As Float[], vfIncognitas As Float[], vfTerminosInd As Float[], lOrden As Long, CallbackFunction As Pointer) As Long



Rutina que sera llamada desde C
Private Sub Porcentaje(avance As Integer)

Debug "Progreso " & Format$(avance, "0.00") & "%")

Wait 0.01 ' esto mantiene al programa vivo
End


Tipica llamada
...
resultado = modLibMatrix8.M8gauss(matrigest, vecdez, vecterind, modestru.ordmatrig, Porcentaje)
...



Parte de la rutina en C
long M8gauss(double *matriz, double *x, double * ti, long n , void (*cbGambas) (int) )
{

// triangulacion
for (i = 0;i<n;i++)
{
i1=i*n;


cbGambas(i); // Mantengo gambas informado de mi progreso



Perfil MP  
Objetivo: Re: [C] Funciones CallBack
tercoIDE:

Citar:
gambas permite ser llamado desde "afuera", o sea desde otro programas no-Gambas o librerias.

Guay!!!...Muy buena utilidad que le has dado.

Saludos

Julio

Objetivo: Re: [C] Funciones CallBack

última edición por vuott el Martes, 02 Diciembre 2014, 09:07; editado 1 vez
Perfil MP  
Objetivo: Re: [C] Funciones CallBack
voutt

ya se que existian las funciones CallBack, no he descubierto la America!!!

pero...haber podido implementarlas tanto desde C como desde gambas ha sido para mi muy satisfactorio


Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 1.2349s (PHP: -91% SQL: 191%)
Consultas SQL: 46 - Debug off - GZIP Activado