Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577

    [C++] dividere progetto su più file

    ho trovato il seguente esempio e non mi è chiaro come il main abbia visibilità di my_functions.cc a meno che non si utilizzi il make o quant'altro
    Se si compila direttamente il main.cc si ha segnalazione di errori. Se nel file main.cc si inserisce la riga #include "my_functions.cc" è considerata un asporca, come sistemare le cose in modo pulito mantenendo prototipi ed implementazioni in file separati?


    grazie


    codice:
    //file: my_functions.h
    void a( void ); // function prototype
    void b( void ); // function prototype
    void c( void ); // function prototype
    int x = 1; // global variable
    codice:
    //file: my_functions.cc
    #include “my_functions.h”
    void a( void )
    {
    int x = 25; // initialized each time a is called
    ++x;
    }
    void b( void )
    {
    static int x = 50; // Static initialization
    ++x;
    }
    void c( void )
    {
    x *= 10;
    }
    codice:
    //file: main.cc
    #include “my_functions.h”
    int main()
    {
    int x = 5; // local variable to main
    a(); // a has automatic local x
    b(); // b has static local x
    c(); // c uses global x
    cout << "local x in main is " << x << endl;
    return 0;
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Devi compilare tutti i file sorgenti e mandare al linker tutti i file compilati. Da questi otterrai un solo eseguibile.

    Lo puoi fare con un makefile oppure può pensare a tutto il tuo IDE creando un apposito progetto (è sostanzialmente la stessa cosa).
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577
    grazie, sino ad ora non mi è mai capitato di usare un makefile, includo i sorgenti ma è una sporca

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    NON devi includere i sorgenti ... assolutamente ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.