Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - creare .h o .exe
Forum - C/C++ - creare .h o .exe

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Zizzius (Honoris User)
Guru


Messaggi: 675
Iscritto: 28/02/2005

Segnala al moderatore
Postato alle 17:18
Martedì, 10/05/2005
Se nel C io ho creato un programma con un testo piuttosto lungo (e numerose funzioni) ? meglio spezzarlo in pi? programmi che si chiamano l'un l'altro? O creare librerie (.h)? Mi sai dire come si fa?

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6109
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 17:32
Martedì, 10/05/2005
E' possibile suddividere il programma in pi? "moduli" (e poi unirlo assieme in fase di compilazione) per spezzettare il sorgente in pi? files (? una tecnica utilissima, in quanto permette di suddividere in maniera logica un programma).

Uddio, non mi scrivere certe eresie per? :asd:

I files con estensione .h non sono librerie, ma headers. Gli headers contengono i prototipi delle funzioni, le direttive di pre-compilatore e lo scheletro delle classi (o delle strutture).

In alcuni casi puoi trovare anche dei files .h che contengono funzioni e classi, ma personalmente non la trovo una buona tecnica. ;)

Edit: le librerie che dici te sono le .dll (in Windows) e i .o (in Linux).

Ultima modifica effettuata da pierotofy il 10/05/2005 alle 17:33


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
Zizzius (Honoris User)
Guru


Messaggi: 675
Iscritto: 28/02/2005

Segnala al moderatore
Postato alle 17:46
Martedì, 10/05/2005
Testo quotato

Postato originariamente da pierotofy:

Uddio, non mi scrivere certe eresie per? :asd:




Ops...

B?, operativamente come si procede?

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6109
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 20:44
Martedì, 10/05/2005
Dipende dal compilatore che usi.

Comunque una buona base di teoria sulla suddivisione in moduli dei programmi ? essenziale.

Come al solito, ti consiglio di cercare su google qualche guida in proposito ;)


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
Zizzius (Honoris User)
Guru


Messaggi: 675
Iscritto: 28/02/2005

Segnala al moderatore
Postato alle 16:32
Giovedì, 12/05/2005
Grazie.

PM Quote
Avatar
Zizzius (Honoris User)
Guru


Messaggi: 675
Iscritto: 28/02/2005

Segnala al moderatore
Postato alle 16:57
Martedì, 24/05/2005
Uhm... non ho trovato nulla. Innanzitutto, preciso che lavoro in C (non in C++); lavoro in Windows e uso il compilatore Borland C++.

B?, dunque, se io metto in un file header il prototipo di una mia funzione, dove la metto la funzione? In main.c, nel file header o in qualcos'altro?

Ringrazio in anticipo chi voglia rispondermi.

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6109
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 14:29
Giovedì, 26/05/2005
Per regola i prototipi delle funzioni andrebbero messi nel file header, la loro implementazione nei files .c. Tuttavia nessuno ti impedisce di non seguire questa regola.


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
Zizzius (Honoris User)
Guru


Messaggi: 675
Iscritto: 28/02/2005

Segnala al moderatore
Postato alle 23:16
Giovedì, 26/05/2005
E il file .c lo dovrei mettere (sempre secondo convenzione) nello stesso file in cui ho dichiarato il main() oppure in un altro file, richiamato dal .h con #include?
(non so se mi sono spiegato :-|)

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6109
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 23:26
Giovedì, 26/05/2005
Allora:

main.c
---------------------
#include "mialib.h"
#include "mialib2.h"
#include <stdio.h>

/* ... */
---------------------

mialib.c
---------------------
#include "mialib.h"
#include <stdio.h>

int calcola(void){
/* ... */
}
/* ... */
---------------------

mialib.h
---------------------
#define PARAMETRO 5

int calcola(void);

/* ... */
---------------------

E avanti cos? per tutti gli altri files.

Quando compili passi alla riga di comando gli argomenti che dicono di compilare pi? di un file (il che varia da compilatore a compilatore) anzich? uno solo.

Ultima modifica effettuata da pierotofy il 26/05/2005 alle 23:27


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo