[C] Funciones CallBack


Subject: [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



Profile PM  
Subject: 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

Subject: Re: [C] Funciones CallBack

Last edited by vuott on Tuesday, 02 December 2014, 09:07; edited 1 time in total
Profile PM  
Subject: 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


Profile PM  

Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.104s (PHP: -19% SQL: 119%)
SQL queries: 23 - Debug Off - GZIP Enabled