Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [C++]Funzioni e socket

  1. #1
    Utente di HTML.it L'avatar di Gioa32
    Registrato dal
    Jan 2000
    Messaggi
    68

    [C++]Funzioni e socket

    Ciao a tutti, ho queste 2 funzioni:

    void dm_init(char * config_file );
    La funzione si occupa di inizializzare la libreria, caricando dal file config_file l’associazione tra ID dei blocchi di memoria e server. Inoltre, aprirà una serie di socket per mettersi in connessione con i server.

    e

    int dm_block_map(int ID, void *address)
    Questa funzione si occupa di stabilire l’associazione tra blocco di memoria e indirizzo di memoria locale. La funzione si collega al server corrispondente all’ ID specificato, e richiede la copia del blocco a partire dall’indirizzo address (presente nel file di configurazione).

    Come è possibile utilizzare nella seconda funzione i socket creati nella prima visto che quest'ultima non li restituisce(void)?

    Grazie
    Ciao

  2. #2

    Re: [C++]Funzioni e socket

    Originariamente inviato da Gioa32
    Come è possibile utilizzare nella seconda funzione i socket creati nella prima visto che quest'ultima non li restituisce(void)?
    void dm_init(char * config_file ) genera degli

    effetti collaterali

  3. #3
    Utente di HTML.it L'avatar di Gioa32
    Registrato dal
    Jan 2000
    Messaggi
    68
    ok ho capito, ma siccome le funzioni di cui parlavo fanno parte di una libreria che devo scrivere io in c++, rispettando quei prototipi che mi sono stati assegnati nelle specifiche, la variabile globale che devo modificare devo dichiararla nel file .h che contiene appunto tutti i prototipi, oppure al di fuori del main del programma che deve utilizzare queste funzioni?

  4. #4
    Originariamente inviato da Gioa32
    ok ho capito, ma siccome le funzioni di cui parlavo fanno parte di una libreria che devo scrivere io in c++, rispettando quei prototipi che mi sono stati assegnati nelle specifiche, la variabile globale che devo modificare devo dichiararla nel file .h che contiene appunto tutti i prototipi, oppure al di fuori del main del programma che deve utilizzare queste funzioni?
    Devi dichiararla e definirla come va fatto per ogni variabile globale:
    definita in un solo punto del codice in una sola unità di compilazione, e dichiararla tutte le volte che ne necessiti.

    Siccome tale dichiarazione è tedioso ripeterla, allora in genere si preferisce metterla in un .h incluso alla bisogna. Ovvio che siccome i .h in genere sono fatti apposta per essere inclusi in diverse unità di compilazione, in pratica non ha senso definire una variabile globale in un .h.

    L'argomento è stato trattato innumerevoli volte anche in questo stesso 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 © 2024 vBulletin Solutions, Inc. All rights reserved.