User Tag List

Resultados 1 al 10 de 10

Tema: Compilado dll... ejem, so para Fenix

  1. #1

    Fecha de ingreso
    Sep 2005
    Mensajes
    16,948
    Mencionado
    283 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    1,227
    Agradecer Thanks Received 
    2,722
    Thanked in
    Agradecido 1,878 veces en [ARG:2 UNDEFINED] posts

    Compilado dll... ejem, so para Fenix

    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:
    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);
        }
    Consiste en una simple dll para Fenix, en plan "hola mundo".
    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?
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  2. #2

    Fecha de ingreso
    Jul 2006
    Mensajes
    427
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    8
    Agradecer Thanks Received 
    14
    Thanked in
    Agradecido 9 veces en [ARG:2 UNDEFINED] posts
    yo hice en su dia lo mismo, si la compilaba stand alone me funcionaba y si la compilaba para fenix, despues de poner las dependencias estaticas para que no se queje de la glibc y alguna cosa mas. Al final no hubo forma de que funcionase la libreria llamandola desde fenix. Si consigues algo ya diras.
    In the very beginning it was an angelical society but Eve took a “Byte” from the “Apple” and then mistrust was born.

  3. #3

    Fecha de ingreso
    Sep 2005
    Mensajes
    16,948
    Mencionado
    283 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    1,227
    Agradecer Thanks Received 
    2,722
    Thanked in
    Agradecido 1,878 veces en [ARG:2 UNDEFINED] posts
    UP al tema. Fenixland y 20 proyectos más dependen de ello.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  4. #4

    Fecha de ingreso
    Feb 2006
    Ubicación
    Frostonville
    Mensajes
    1,289
    Mencionado
    3 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    12
    Cita Iniciado por Drumpi Ver mensaje
    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?
    ¡¡Toma ya!! ¡¡Por toda la escuadra!!

    Cita Iniciado por Drumpi Ver mensaje
    UP al tema. Fenixland y 20 proyectos más dependen de ello.
    xDDDDDDDDDDDDDD
    Mi grupo: AntropofobiA Mis 8bits: PaK-Zer0

  5. #5

    Fecha de ingreso
    Sep 2005
    Mensajes
    16,948
    Mencionado
    283 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    1,227
    Agradecer Thanks Received 
    2,722
    Thanked in
    Agradecido 1,878 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por DMusta1ne Ver mensaje
    ¡¡Toma ya!! ¡¡Por toda la escuadra!!
    Pues haber si no tengo que ponerme la mirilla telescópica con todas las faltas que veo por ahi.

    La lista de proyectos ha subido a 21... 22 :P
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  6. #6

    Fecha de ingreso
    Feb 2006
    Ubicación
    Frostonville
    Mensajes
    1,289
    Mencionado
    3 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    12
    Cita Iniciado por Drumpi Ver mensaje
    Pues haber si no tengo que ponerme la mirilla telescópica con todas las faltas que veo por ahi.

    La lista de proyectos ha subido a 21... 22 :P
    No te enfades tito 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...
    Mi grupo: AntropofobiA Mis 8bits: PaK-Zer0

  7. #7

    Fecha de ingreso
    Sep 2005
    Mensajes
    16,948
    Mencionado
    283 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    1,227
    Agradecer Thanks Received 
    2,722
    Thanked in
    Agradecido 1,878 veces en [ARG:2 UNDEFINED] posts
    Voy avanzando, a paso de caracol, pero avanzando.
    He cambiado las cabeceras del tutorial de Fenix por las que he podido encontrar de la versión 092a. Puede que fuese algo obvio para el ojo experimentado, pero no desde mi punto de noob por estas lides: esta dll no hace uso de ninguna funcion de Fenix declarada en esas cabeceras.
    Lo bueno: he conseguido en un caso (creo que era ejecución normal, sin parámetros) ver la "splash screen"...
    Lo malo: ...antes del cuelgue.

    Querría preguntar a Puck por las librerías que usó para compilar UFenix, porque tengo las del SDK oficial (el de Dev-c++) que aparecen en el wiki, pero sin las librerías del 29-4-08 (que no se cómo se instalan) ni un paquete que estaba tambien en http://dev.gp2x.com/sdk/ con una serie de librerías de los sceners (que tampoco se dónde poner).

    Tambien, si es posible, el entorno de programación que usaste y las opciones de compilación, que ya ni idea ^^U

    Un saludo.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  8. #8

    Fecha de ingreso
    Sep 2005
    Mensajes
    16,948
    Mencionado
    283 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    1,227
    Agradecer Thanks Received 
    2,722
    Thanked in
    Agradecido 1,878 veces en [ARG:2 UNDEFINED] posts
    Bueno, mientras espero alguna respuesta por parte de la gente que sabe, ya que los tutoriales lían más que aclaran, y el 99% son para linux, voy acumulando nuevas dudas:

    He estado buscando los fuentes y/o los módulos necesarios para cargar el sistema de ficheros iso9660. Como todos los linux lo traen de serie, sólo encuentro enlaces a páginas de cómo montar otros sistemas de ficheros o imágenes ISO mediante el comando mount. Supongo que no hace falta explicar lo que persigo con esto ¿no?
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  9. #9

    Fecha de ingreso
    Jan 2008
    Ubicación
    Madrid
    Mensajes
    4,466
    Mencionado
    14 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    93
    Agradecer Thanks Received 
    173
    Thanked in
    Agradecido 101 veces en [ARG:2 UNDEFINED] posts
    PD: ¿es necesario que los datos devueltos sean de tipo static o son manias del que escribió el tutorial?
    La palabra "static" delante de una función indica que la función no es exportable sino local al fichero donde está compilada. Lo que sería el "private" en visual basic. Y la razón es porque son funciones privadas, aunque luego se haga un truco para llamarlas.

    Sobre lo de montar un cd rom, en esta pagina tienes varios ejemplos. Hay que ponerle el tipo del sistema de ficheros y el nombre del dispositivo, así como el directorio de montaje. Aunque hace tiempo que no toco Linux.

    mount -F iso9660 /dev/rdsk/dks0d7vol /cdrom
    Última edición por hardyx; 17/03/2009 a las 14:18

  10. #10

    Fecha de ingreso
    Sep 2005
    Mensajes
    16,948
    Mencionado
    283 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    1,227
    Agradecer Thanks Received 
    2,722
    Thanked in
    Agradecido 1,878 veces en [ARG:2 UNDEFINED] posts
    Ah, vale, entonces supongo que lo de static da igual ponerlo mientras no declare otra variable igual.

    Y respecto a lo del CD, relee lo que he escrito: SE montar una unidad de CD, lo que no hay es SOPORTE para el iso9660. La gp2x soporta sólo los siguientes sistemas de ficheros (extraido del /etc/filesystem)
    Código:
    nodev	rootfs
    nodev	bdev
    nodev	proc
    nodev	sockfs
    nodev	tmpfs
    nodev	shm
    nodev	pipefs
    	ext2
    nodev	ramfs
    	vfat
    nodev	devfs
    nodev	devpts
    	yaffs
    nodev	usbdevfs
    nodev	usbfs
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •