bobosky ha scritto:
1) ho creato la libreria libgo.h e la sua implementazione libgo.c. Devo includere libgo.h in libgo.c ?
2) Nel file libgo.h posso dichiarare strutture dati che poi saranno usate nei miei programmi ?
3) nei parametri delle funzioni dichiarate in libgo.h devo specificare solo il tipo di dato che accetta o anche il nome del parametro ?
Se hai di questi dubbi, probabilmente è troppo presto per te pensare di scrivere una libreria. Comunque:
1) Se tutte le funzioni della libreria sono indipendenti tra loro (improbabile) non è indispensabile includere il .h. Se invece le funzioni si richiamano l'una con l'altra, o se fanno uso di strutture dati specifiche dichiarate nel .h, allora è necessario includerlo. Insomma, nulla di diverso rispetto ad un programma normale.
2) sì.
3) il nome è opzionale, può essere utile come mnemonico e non deve necessariamente coincidere con il nome del parametro che poi gli passerai quando chiami la funzione.
Ti consiglio di leggere il Program-Library-HOWTO che, installando il pacchetto doc-linux-text, va a finire in /usr/share/doc/HOWTO/en-txt. Ce n'è anche una versione html, ma purtroppo temo che non sia stato tradotto in Italiano.
Buon lavoro/divertimento.