|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2006
Città: Napoli
Messaggi: 319
|
compilare in linux
salve ragazzi volevo sapere una cosa, devo creare un programma in c per l'università siccome ci sono molte funzioni e possibile creare due file dove in uno c'è il main e nell'altro ci sono tutte le funzioni? ad esempio un file main.c e un altro funzioni.h, si può fare? una volta creato i due file come si compilano insieme? grazie mille
__________________
iMac 27" 5K" 3,4 GHz Intel Core i5 quad-core, 32 GB 2400 MHz DDR4, HD 1tb Fusion Drive |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Puoi compilare i file .o e poi linkarli insieme:
gcc -o file1.o -c file1.c gcc -o file2.o -c file2.c gcc -o eseguibile file1.o file2.o Oppure creare direttamente l'eseguibile da entrambi i file: gcc -o eseguibile file1.c file2.c Fatti spiegare dal professore come creare un piccolo Makefile di aiuto, così lasci fare il tutto a make.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2006
Città: Napoli
Messaggi: 319
|
ok grazie mille
__________________
iMac 27" 5K" 3,4 GHz Intel Core i5 quad-core, 32 GB 2400 MHz DDR4, HD 1tb Fusion Drive |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Faccio notare solo una cosa a livello concettuale: nei file di header non ci dovrebbero essere mai definizioni di variabili o funzioni.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
#5 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2006
Città: Napoli
Messaggi: 319
|
la differenza la conosco, anche se nel nei file di header non ci dovrebbero essere mai definizioni di variabili o funzioni, se le metti non cambia nulla, ho provato e funziona.
ora ho un altro problema, come posso creare un conto alla rovescia in C? uso la funzione sleep, ma il programma si ferma e poi mi stampa tutti i numeri, per fare questo ho creato un ciclo for: for(i=10;i>0;i--) { printf("%d ",i); sleep(1000); printf("\n"); } ma penso di aver sbagliato. sapete dirmi cosa fare?
__________________
iMac 27" 5K" 3,4 GHz Intel Core i5 quad-core, 32 GB 2400 MHz DDR4, HD 1tb Fusion Drive Ultima modifica di barreljoker : 09-11-2007 alle 08:38. |
![]() |
![]() |
![]() |
#7 | ||
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]() Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: May 2006
Città: Napoli
Messaggi: 319
|
mi da il seguente errore:
barreljoker@linux-p4u6:~/Desktop> gcc prova.c prova.c: In function ‘main’: prova.c:13: error: ‘stdio’ undeclared (first use in this function) prova.c:13: error: (Each undeclared identifier is reported only once prova.c:13: error: for each function it appears in.) barreljoker@linux-p4u6:~/Desktop> devo aggiungere qualche libreria?
__________________
iMac 27" 5K" 3,4 GHz Intel Core i5 quad-core, 32 GB 2400 MHz DDR4, HD 1tb Fusion Drive |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: May 2006
Città: Napoli
Messaggi: 319
|
grazie mille, un ultima cosa, nn chiamarmi scocciatore, come posso inserire un clearscreen? il comando system("CLS") in linux nn funziona, grazie mille
edit: trovato, system("clear"); grazie mille e scusami
__________________
iMac 27" 5K" 3,4 GHz Intel Core i5 quad-core, 32 GB 2400 MHz DDR4, HD 1tb Fusion Drive Ultima modifica di barreljoker : 09-11-2007 alle 09:03. |
![]() |
![]() |
![]() |
#11 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
c'è il comando clear se non erro (scritto tutto minuscolo).
edit - problema risolto vedo |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: May 2006
Città: Napoli
Messaggi: 319
|
scusate eccomi di nuovo qui, sono riuscito a fare tutto, grazie al vostro aiuto, ora volevo provare un'altra cosa, io utilizzo linux per scrivere i programmi, mi piacerebbe provarli anche su win per vedere la compatibilità, c'è un modo per creare i file exe direttamente in fase di compilazione sotto linux?
per compilare uso il comando gcc -o nomefile.o nomefile.c, se faccio una cosa del genere: gcc -o nomefile.exe nomefile.c, e possibile? o devo fare in un altro modo? grazie
__________________
iMac 27" 5K" 3,4 GHz Intel Core i5 quad-core, 32 GB 2400 MHz DDR4, HD 1tb Fusion Drive |
![]() |
![]() |
![]() |
#13 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
per generare eseguibili in formato .exe sotto Linux devi usare il MinGW; ovviamente tieni presente che non funzioneranno sotto Linux, devi trasferirli su Windows per farli andare (oppure usi un emulatore, tipo Wine che crede di non essere un emulatore perché i membri del team non sanno cosa vuol dire "emulatore"
![]() |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: May 2006
Città: Napoli
Messaggi: 319
|
sai dove posso trovarlo, su sito trovo solo la versione per win
__________________
iMac 27" 5K" 3,4 GHz Intel Core i5 quad-core, 32 GB 2400 MHz DDR4, HD 1tb Fusion Drive |
![]() |
![]() |
![]() |
#15 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
uhm, boh, forse si scarica tramite comando yum oppure apt-get oppure quello che hai... attendi qualche esperto di Linux, che io ne sono ben lungi
![]() |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: May 2006
Città: Napoli
Messaggi: 319
|
grazie mille, mi sei stato veramente di aiuto.
__________________
iMac 27" 5K" 3,4 GHz Intel Core i5 quad-core, 32 GB 2400 MHz DDR4, HD 1tb Fusion Drive |
![]() |
![]() |
![]() |
#17 |
Member
Iscritto dal: Sep 2006
Città: ~
Messaggi: 146
|
Se usi ubuntu lo installi così:
Codice:
sudo apt-get install mingw32
__________________
Computers are like conditioned air: they work fine 'till you open windows. ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:45.