Hola de nuevo:
Mientras aprendo a hacer algo con los módulos, voy a seguir aprendiendo con otras cosillas algo más sencillas. Hoy tocan las librerías de enlace dinámico... las dll en windows, vamos.
Bien, tengo este código:
Consiste en una simple dll para Fenix, en plan "hola mundo".Código:#include <fxdll.h> static int suma (INSTANCE * my, int * params) { int dato_a_devolver; dato_a_devolver=params[0]+params[1]; return(dato_a_devolver); } static int resta (INSTANCE * my, int * params) { int dato_a_devolver; dato_a_devolver=params[0]-params[1]; return(dato_a_devolver); } FENIX_MainDLL RegisterFunctions (COMMON_PARAMS) { FENIX_DLLImport FENIX_export ("MI_SUMA", "II", TYPE_DWORD, suma); FENIX_export ("MI_RESTA", "II", TYPE_DWORD, resta); }
Bien, usando el SDK oficial (dev-cpp y yo ya nos conocimos hace tiempo), he creado un proyecto tipo dll para windows, he añadido a los directorios la carpeta donde estan los headers de Fenix, compile y ¡viola! una dll perfectamente funcional en windows.
Pasemos a la negrita: proyecto, dll para gp2x (.so), codigo, añadimos los mismos .h, compilar, probamos la .so... vuelta al menu.
¿Es cosa del código? ¿O es que necesito otros .h (que no se donde andan, ni con los fuentes de puck :S)? ¿o es que hago algo mal en el proceso?
Si alguien me puede hechar una mano, por favor...
PD: ¿es necesario que los datos devueltos sean de tipo static o son manias del que escribió el tutorial?


Citar

Mi grupo:
Tu sabes que es un poco por el cachondeo, y otro poco por upear el tema, a ver si alguien se moja, tipo Jojo o Puck, que esto merece la pena echarle un vistazo y echar un cablecillo...

Marcadores