Successivo: , Precedente: , Su: Invocare Gawk   [Contenuti][Indice]


2.8 Caricare librerie condivise nel proprio programma

Questa sezione descrive una funzionalità disponibile solo in gawk.

La direttiva @load può essere usata per leggere estensioni di awk esterne (memorizzate come librerie condivise di sistema). Questo consente di collegare del codice compilato che può offrire prestazioni migliori o dare l’accesso a funzionalità estese non incluse nel linguaggio awk. La variabile AWKLIBPATH viene usata per ricercare l’estensione. Usare @load é del tutto equivalente a usare l’opzione da riga di comando -l.

Se l’estensione non viene trovata in AWKLIBPATH, viene effettuata un’altra ricerca dopo aver aggiunto al nome-file il suffisso della libreria condivisa comunemente in uso per la piattaforma corrente. Per esempio, sui sistemi GNU/Linux viene usato il suffisso ‘.so’:

$ gawk '@load "ordchr"; BEGIN {print chr(65)}'
-| A

Questo equivale all’esempio seguente:

$ gawk -lordchr 'BEGIN {print chr(65)}'
-| A

Per l’uso da riga di comando è più conveniente l’opzione -l, ma @load è utile da inserire all’interno di un file sorgente di awk che richieda l’accesso a un’estensione.

Scrivere estensioni per gawk, descrive come scrivere estensioni (in C or C++) che possono essere caricate sia con @load che con l’opzione -l. È anche descritta l’estensione ordchr.