Pagina 2 di 2

Inviato: 02 lug 2009, 17:36
da exodd
Agi_90 ha scritto:tutte le funzioni nel C hanno una definizione da qualche parte; quando tu fai #include <something> non fai altro che inserire un bel po' di definizioni al tuo codice. Se vuoi avere le tue funzioni sempre disponibili fai un bel file con tutte le definizioni e chiammalo miofile.h o quello che vuoi e poi in ogni sorgente dove usi le tue funzioni metti all'inizio del codiice (come dice SkZ DOPO gli include delle librerie di sistema) #include <miofile> in questo modo avrai tutto disponibile. Se per qualche motivo strano hai problemi di definizioni di variabili usa il namespace. Spero di essere stato d'aiuto. :D
già lo sapevo:
io volevo sapere come si fa a scrivere e creare <miofile>

Inviato: 02 lug 2009, 17:58
da Tibor Gallai
Scrivi le funzioni e salvi il file come "miofile.h".
Il vero problema è come far sì che il compilatore trovi il file una volta che lo includi.
Ci sono almeno 2 modi: o metti miofile.h nella stessa directory dei sorgenti e lo includi con #include "miofile.h", oppure lo metti nella directory standard, che di solito si trova in /include da qualche parte nell'installazione del tuo compilatore, e lo includi con #include <miofile>.

Inviato: 02 lug 2009, 19:22
da SkZ
come gia' detto,

Codice: Seleziona tutto

#include <lib.h>
e' per gli headers di sistema. Per includere i tuoi usa

Codice: Seleziona tutto

#include "lib.h"
#include "../headers/lid.h"
a meno che tu non intenda fare librerie abbastanza complesse, ma non penso tu possa "battere" quelle gia' esistenti


Infatti un buon header che funga da libreria con funzioni e' bene che contenga sempre tutti gli header di sistema e sia autonomo. Pero' a volte io spezzo il "preambolo" in piu' header, ovvero quando l'header e' proprio di quel sorgente e non verra' riusato in altri. In questo caso non e' necessario, anche perche' di solito non ha grandi funzioni :P ma di solito definizioni.
Cmq non c'e' problema dato che gli header seri sono costruiti in modo da essere inclusi una volta sola con

Codice: Seleziona tutto

#ifndef MYLIB_HEADER
#define MYLIB_HEADER
[...]
#endif
allego 2 header: uno che funge da libreria e uno semplicemente per separare parte del codice (mi dava problemi di identazione in xemacs :P )

I tuoi header e' bene includerli all'inizio di tutto se li testi, ma poi e' sempre bene includerli dopo, soprattutto se ridefinisci qualcosa (e' questo a cui ti riferivi fph?), cosa non troppo strana in lavori complessi e soprattutto in C++

Inviato: 03 lug 2009, 12:07
da exodd
finalmente ci sono riuscito.. grazie a tutti :wink: