Librerie in C

di il
6 risposte

Librerie in C

1)Si implementi in linguaggio C una libreria per la gestione di uno stack che possa contenere al più MAx elementi

2)Si implementi in linguaggio C una libreria per la gestione di una coda che possa contenere al più MAx elementi

so quali sono le funzioni fondamentale di entrambi le strutture , ma non so come creare le librerie... chi mi aiuta?

6 Risposte

  • Re: Librerie in C

    Devi creare un file header che conterrà i prototipi di tutte le funzioni che ti interessano avere nella libreria ed eventualmente puntatori a strutture (che saranno definite nei file che implementeranno l'header).

    Per esempio il file header lo chiami "stack.h", dopo di che creerai il file "stack.c" che conterrà l'implementazione vera e propria (sia delle funzioni che della/e strutture dati), e ovviamente il file stack.c dovra fare l'include di tale header, come tutti gli altri file che utilizzeranno tale libreria.
  • Re: Librerie in C

    E proprio questo il problema..ho le implementazioni di tutte le funzioni che mi servono per gestire lo stack e\o la coda,ma non so creare il file header e il resto.. ti ringrazio se potessi aiutarmi
  • Re: Librerie in C

    Nel file header devi semplicemente mettere i prototipi delle funzioni, cioè cosa restituisco, il nome, eventuali parametri; inoltre se utilizzi strutture dati da te create e poi implementate definisci un puntatore a tale struttura.

    Ti posto un esempio su una libreria per gestire liste di stringhe:

    questo è il file header stringlist.h
    
    /*puntatore a nodo di una lista
     */
    typedef struct node* stringlist;
    
    /*Restituisce una lista composta da un solo nodo
     */
    stringlist newNode(char*elem);
    /*
     *Scrive lista su console (ricorsiva)
     */
    void printList(stringlist lista);
    
    ...ecc...
    
    poi nel file stringlist.c ci sarà un
    #include "stringlist.h"
    poi, siccome io avevo definito un puntatore ad una struttura "struct node", ci sarà la definizione di tale struttura, più l'implementazione di tutte le funzioni indicate nell'header (devi mettere completamente l'intera funzione, compreso di prototipo) + eventuali altre funzioni (se ti servono)
  • Re: Librerie in C

    Ciao,

    Nion per essere pignoli (anzi è qualcosa che generalmente viene frainteso anche dai professori), ma una libreria è composta da un .h (che deve essere opportunamente #incluso dai moduli che vogliono utilizzarla) e da un .lib/.a (oppure una dll ed un .lib/.a di raccordo).

    La creazione di una libreria (statica nel primo caso, dinamica nel secondo) viene specificata al momento della compilazione e quello che viene prodotto non è un eseguibile...
    In particolare i moduli contenenti le funzioni di libreria non avranno (tra le altre cose) un main e la stessa sarà utilizzabile (nella forma statica o dinamica) semplicemente linkandola ad un progetto esistente. Nel caso delle librerie dinamiche, una stessa libreria può servire più processi (con le eventuali problematiche collegate al multitasking e/o multithreading).

    Vengono spesso chiamate impropriamente librerie anche insiemi di .h e moduli .c che vengono aggiunti ad un progetto... ma è sempre bene avere in mente la distinzione perché può portare a fraintendimenti.

    Sono più che corrette, in ogni caso, le indicazioni di Smanettone...

    Ciaociao
  • Re: Librerie in C

    Ragazzi ho bisogno di aiuto..
    entro martedi devo consegnare questo esercizio...


    chi mi aiuta??
  • Re: Librerie in C

    Dai ragazzi x favore...aiutatemi
Devi accedere o registrarti per scrivere nel forum
6 risposte