Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    117

    [C] Linkaggio automatico

    Ragazzi ho una piccola curiosità. Come funziona il linkaggio automatico della libreria standard? E se volessi fare in modo da linkare automaticamente un file come si fa?

    Nel senso che includo un file: file.h e devo linkare il file.c, si può fare in modo automatico?

  2. #2
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479
    In che senso?
    Tu includi il file .h e poi compili solo i file C. Le funzioni del .c le puoi usare senza problemi basta che prima gli includi il relativo .h ovviamente con i prototipi, questo intendevi ?
    Non riscrivere la ruota, usa le librerie.
    by Bjarne Stroustrup
    EIDON SOFT MEMBER

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    117
    Immagina che tengo tre files:

    main.c
    header.h
    header.c

    il programma principale è main.c che include header.h, però devo linkare header.c così: gcc main.c header.c
    Si può ottenere che il linkaggio automatico, cioè con gcc main.c linka automaticamente header.c?

  4. #4
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479
    Non credo si possa fare, al gcc devi dare in pasto tutti i file .c che costruiscono il programma. Al massimo puoi fare un makefile e specificare le dipendenze in modo tale che lui ogni volta compila solo quello che gli serve
    Non riscrivere la ruota, usa le librerie.
    by Bjarne Stroustrup
    EIDON SOFT MEMBER

  5. #5

    PICCOLA PRECISAZIONE :))

    Non so se intendevi altro o se non lo sapessi ma non si linkano i file.c, si linkano i mouduli ossia i file.o

    se hai i files:

    main.c
    funzione1.c
    funzione2.c
    funzione3.c
    header.h

    1) Compili tutti i sorgenti

    gcc -c *.c

    ottenendo main.o funzione1.o funzione2.o funzione3.o

    2) Linki "colleghi" tutti i moduli

    gcc *.o

    Se tutto è andato bene nella directory devi trovarti un file chiamato "a.out" che sarebbe l'eseguibile.

    )

    CIAOOOO

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.