Nel precedente articolo abbiamo avuto modo di dare un primo sguardo alla teoria che riguarda le librerie.
Oggi passeremo alla pratica realizzando la nostra prima libreria statica.
Una libreria statica è un file contenente del codice compilato che svolge diversi compiti. Questo codice può essere utilizzato nel proprio progetto e quindi aggiunto staticamente durante la creazione del file eseguibile.
Facciamo quindi un semplice esempio creando una libreria che contiene un unico modulo con un’unica funzione:
Modulo libreria
''nome del file: libreria.bas
''funzione per il calcolo dell'area di un triangolo
public function area(byval b as integer, _
byval h as integer) as integer
return b * h / 2
end function
A questo punto dobbiamo compilare il file specificando al compilatore FreeBASIC che vogliamo creare una libreria e non un eseguibile:
fbc -lib libreria.bas
Noteremo che nella stessa cartella del modulo compare ora il file liblibreria.a che è il file archivio contenente la nostra libreria.
Un archivio può contenere più moduli.
Interfaccia
Per facilitare l’uso della nostra libreria è bene creare una interfaccia (API) che permetta ad un qualsiasi programmatore interessato di accedere facilmente alle varie funzioni messe a disposizione.
In FreeBASIC per creare una interfaccia, non facciamo altro che scrivere un file di intestazione.
''nome del file: libreria.bi
#inclib "libreria" ''include il modulo libreria
declare function area(byval b as integer, _
byval h as integer) as integer
Programma
Immaginiamo ora di essere un programmatore che voglia utilizzare la funzione area della nostra libreria.
Scriviamo quindi questo semplice programma:
''nome file: test.bas #include "libreria.bi" ''include il file di intestazione 'stampa l'area del triangolo print "L'area del triangolo vale: "; area(4, 5)
A questo punto si compila il modulo del programma (test.bas) e si ottiene il file eseguibile che ingloba anche la libreria.
Nel prossimo articolo creeremo invece una libreria dinamica.

