« il: 01 Settembre 2015, 00:39:11 »
Mostro di seguito un breve codice per gestire il caricamento di librerie dinamcihe condivise .so con il subsistema
loadso di
SDL2:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "SDL2/SDL.h"
void* Handle = NULL;
int (*FunzioneEsterna)(int anInt);
int main(int argc, char **argv) {
int r;
// Carica dinamicamente la libreria 'mialibreria.so':
Handle = SDL_LoadObject(argv[1]);
char* NomeFunzione = argv[2];
// Carica la funzione esportata da 'mialibreria.so':
FunzioneEsterna = (int (*)(int))SDL_LoadFunction(Handle, NomeFunzione);
// Invoca la 'FunzioneEsterna' e le passa un Intero:
if (FunzioneEsterna != NULL) {
r = FunzioneEsterna(SDL_atoi(argv[3]));
printf("\nRitorno dalla libreria esterna al programma principale di gestione: \n---> %d\n", r);
} else {
printf("Errore !");
SDL_UnloadObject(Handle);
return -1;
}
SDL_UnloadObject(Handle);
SDL_Quit()
return (0);
}
Registrato
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »