Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Lenovo ha lanciato il ThinkTab X11 rimettendo piede nel segmento dei tablet Android con il marchio Think dopo oltre un decennio di assenza. Il risultato è un dispositivo che prende una direzione precisa: massima dotazione funzionale, costruzione resistente, autonomia fuori dagli schemi
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI è l'appuntamento annuale con il quale l'azienda americana mostra quelle che sono le proprie novità dal versante datacenter. Tra piattaforma Helios, GPU Instinct MI455X e processori EPYC di sesta generazione tutto quello che serve per processare l'IA sempre più complessa ed esigente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-06-2009, 17:18   #1
nlazza87
Member
 
L'Avatar di nlazza87
 
Iscritto dal: Jun 2006
Messaggi: 52
[C] inclusione file

Salve, sto creando un piccolo programma in C ma ho problemi con l'inclusione dei file header.
Ho creato il file "fixed.h" in cui definisco una struct e inserisco l'interfaccia dei metodi, un file "fixed.c" in cui implemento i metodi del file header ed un programma di test in cui è presente il main.
Sia sul file .c che nel file di test ho messo: #include "fixed.h" ma quando compilo il file di test mi viene detto che i metodi che uso nel main non sono definti.
Per caso dimentico qualcosa?
__________________
Macbook Pro 15,4" 2,4Ghz Penryn, 2Gb Ram, 200Gb HD
nlazza87 è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2009, 17:21   #2
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
a parole sembra tutto giusto, posta in piccolo esempio dei 3 file
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2009, 20:35   #3
nlazza87
Member
 
L'Avatar di nlazza87
 
Iscritto dal: Jun 2006
Messaggi: 52
Fixed.h

#define F 8
#include <stdio.h>
typedef unsigned int FixedPoint;

FixedPoint fixpoSum(FixedPoint a, FixedPoint b);

....altri metodi....

Fixed.c

#include <stdio.h>
#include "Fixed.h"
#include <math.h>

FixedPoint fixpoSum(FixedPoint a, FixedPoint b){
return a+b;
}

...altri metodi implementati....
Test.c

#include <stdio.h>
#include "Fixed.h"

int main(){
FILE * ptr;
FixedPoint a;
a=fixpoSum(5,5);
__________________
Macbook Pro 15,4" 2,4Ghz Penryn, 2Gb Ram, 200Gb HD
nlazza87 è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2009, 20:52   #4
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
come compili i sorgenti? ah è buona cosa usare gli include guard:

http://it.wikipedia.org/wiki/Include_guard
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2009, 14:06   #5
nlazza87
Member
 
L'Avatar di nlazza87
 
Iscritto dal: Jun 2006
Messaggi: 52
Avevo già provato ad inserire #ifndef FIXED_H_ ed #endif ma non cambia nulla.

Per quanto riguarda la compilazione:
gcc -c fixed.h
gcc -c fixed.c
gcc -c test.c
gcc -o test test.c -lm

-lm perchè uso la libreria math.h
__________________
Macbook Pro 15,4" 2,4Ghz Penryn, 2Gb Ram, 200Gb HD
nlazza87 è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2009, 14:41   #6
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
Quote:
Originariamente inviato da nlazza87 Guarda i messaggi
Avevo già provato ad inserire #ifndef FIXED_H_ ed #endif ma non cambia nulla.

Per quanto riguarda la compilazione:
gcc -c fixed.h
gcc -c fixed.c
gcc -c test.c
gcc -o test test.c -lm

-lm perchè uso la libreria math.h
il problema è nella compilazione, compilare un .h non ha senso, e in fase finale compili solamente test.c per creare l'eseguibile senza linkare fixed.
devi fare così

gcc -c -o fixed.o fixed.c
gcc -c -o test.o test.c
gcc -o test test.o fixed.o -lm

in questo modo crei gli object file per ogni file compilato e poi li linki insieme nell'eseguibile "test".

in questi casi utilizzare un makefile semplifica notevolmente le cose, sopratutto se nel progetto aggiungerai altri file da compilare.
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2009, 14:51   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
oltre all'utile consiglio sugli include guard, non è necessario che fixed.c includa fixed.h. per il resto credo che ci sia qualcosa che non va nel modo in cui compili (stai compilando a mano o con qualche ide?)
Sì, ma non ha detto che si limita a solamente quel metodo. E' generalmente invece utile includere il .h per non dover preoccuparsi dell'ordine in cui si implementano le funzioni o se ci sono chiamate incrociate.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2009, 18:23   #8
nlazza87
Member
 
L'Avatar di nlazza87
 
Iscritto dal: Jun 2006
Messaggi: 52
Quote:
Originariamente inviato da vizzz Guarda i messaggi
il problema è nella compilazione, compilare un .h non ha senso, e in fase finale compili solamente test.c per creare l'eseguibile senza linkare fixed.
devi fare così

gcc -c -o fixed.o fixed.c
gcc -c -o test.o test.c
gcc -o test test.o fixed.o -lm

in questo modo crei gli object file per ogni file compilato e poi li linki insieme nell'eseguibile "test".

in questi casi utilizzare un makefile semplifica notevolmente le cose, sopratutto se nel progetto aggiungerai altri file da compilare.
Ti ringrazio, così funziona tutto ! Un domanda stupida: se io modifico il file di test oppure anche il file fixed.c è sufficente che esegua gcc -c per controllare eventuali errori?
__________________
Macbook Pro 15,4" 2,4Ghz Penryn, 2Gb Ram, 200Gb HD
nlazza87 è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2009, 18:25   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
E' sufficiente per controllare eventuali errori di compilazione.
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader Tascabile e con Android: BOOX Go 6 Gen II &egrav...
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro Recensione Lenovo Idea Tab Plus: il tablet da 12...
Xbox Game Pass, il mese di luglio 2026 s...
Smartphone troppo cari: Qualcomm ripensa...
Age of Empires III: Definitive Edition t...
GitHub contro i report fatti dall'IA: ri...
Google spinge sugli schermi ultra-wide: ...
Occhiali smart, Instagram bannerà chi re...
L'UE approva PRIMA: il chip fotovoltaico...
Nothing smentisce l'uscita da alcuni mer...
Tassa sui pacchi extra-UE, Giorgetti: da...
Jensen Huang esordisce su X: 'non mettet...
Ha reso lo smartphone e Amazon lo ha 'pe...
TOP 10 offerte del weekend Amazon: ai pr...
TV LG C6 e B5 da 55 pollici: due OLED da...
Tomb Raider: Catalyst rinviato al 2028, ...
Lefant M210 Omni a 265,99€: il robot sli...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:50.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v