|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 1999
Messaggi: 251
|
GCC e librerie
Ciao,
sto programmando da poco sotto Linux ed essendo abituato con Win non so come siano organizzate le librerie da includere nei programmi. Uso Emacs come editor e poi compilo con gcc, ora però ho provato ad includere alcune librerie (conio.h, term.h) ma mi sa che non me le trova !! Non sono standard sotto Linux ?? Che devo fare per avere le funzioni matematiche contenute in conio.h (che so, round(),trunc(),...) Grazie
__________________
Il mio "bel volo" What goes in, must comes out (Johnny Noxville) ...e ricordati che prima o poi il po-chi gira (Il Maestro) manahmanah |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Non esiste conio.h sotto linux, devi utilizzare le funzioni di termios.h in sostituzione.
Quote:
Ricordati di linkare con le librerie matematiche (flag -lm)
__________________
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: Dec 1999
Messaggi: 251
|
Uhm, ma quindi non esistono neanche le funzioni round() e simili ??
Mi spieghi cosa devo fare esattamente, oppure mi passi un tutorial/manualetto così lo imparo una volta x tutte please ?? Grasssie !!
__________________
Il mio "bel volo" What goes in, must comes out (Johnny Noxville) ...e ricordati che prima o poi il po-chi gira (Il Maestro) manahmanah |
![]() |
![]() |
![]() |
#4 | ||
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Se le trovavi in conio.h, forse quest'header includeva a sua volta header di librerie matematiche. Quote:
__________________
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 |
||
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Dec 1999
Messaggi: 251
|
Quote:
Codice:
gcc prova.c -o prova ![]()
__________________
Il mio "bel volo" What goes in, must comes out (Johnny Noxville) ...e ricordati che prima o poi il po-chi gira (Il Maestro) manahmanah |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
gcc prova.c -o prova -lm
__________________
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 |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Dec 1999
Messaggi: 251
|
Thanx !!
C'è un manualetto on-line per conoscere tutti 'sti comandi di gcc please ??
__________________
Il mio "bel volo" What goes in, must comes out (Johnny Noxville) ...e ricordati che prima o poi il po-chi gira (Il Maestro) manahmanah |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Probabilmente. Comuqnue già con man gcc ottieni parecchie informazioni.
__________________
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 |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Dec 1999
Messaggi: 251
|
E' vero, grazie !!
![]()
__________________
Il mio "bel volo" What goes in, must comes out (Johnny Noxville) ...e ricordati che prima o poi il po-chi gira (Il Maestro) manahmanah |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Il manuale ufficiale lo trovi qui:
http://www.gnu.org/software/gcc/onlinedocs/
__________________
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 |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Mar 2005
Città: /home/gica
Messaggi: 1653
|
Quote:
|
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
-l<suffisso> indica di linkare una libreria con un dato suffisso, ovvero con il nome lib<suffisso>.so. Con -lm verrà linkata la libreria libm.so (nb i .so sono equivalenti alle dll di windows).
Viene normalmente linkata la libreria dinamica, non quella statica (a meno che non specifichi -static, oppure a meno che esista solo la versione statica). Le funzioni matematiche sono da sempre separate dalla libc, non so per quale motivo (o meglio, ho una mia idea).
__________________
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 |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Dec 1999
Messaggi: 251
|
Come fare a scoprire dove una determinata funzione è contenuta, ovvero in che libreria, sotto Linux ??
Ed inoltre, come apro il reference di una certa funzione (ad esempio se voglio sapere la sintassi esatta...) ?? In particolare sto cercando di capire se esiste la funzione gettime() o qualcosa di simile... (ovviamente DEVE esistere !! ![]()
__________________
Il mio "bel volo" What goes in, must comes out (Johnny Noxville) ...e ricordati che prima o poi il po-chi gira (Il Maestro) manahmanah |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
man nome_funzione oppure info nome_funzione
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Dec 1999
Messaggi: 251
|
Uhm...e se quella funzione non esiste (perchè ha un nome leggermente diverso !!), non posso mettermi a spulciare il man da terminale
![]() Non ho capito il discorso delle manpages-dev ![]()
__________________
Il mio "bel volo" What goes in, must comes out (Johnny Noxville) ...e ricordati che prima o poi il po-chi gira (Il Maestro) manahmanah |
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
la prima cosa, se devo utilizzare una funzione, mi guardo il man, ad esempio: man raoul bene, se la funzione non esiste perchè o il man non me la riporta, o perchè fa parte di librerie non standard, mi limito a cercarla su google e vedo a quale libreria appartiene.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Dec 1999
Messaggi: 251
|
OK grazie, moh ce provo,
hai news riguardo a gettime() o qualcosa di simile x caso please ?? ![]() ![]()
__________________
Il mio "bel volo" What goes in, must comes out (Johnny Noxville) ...e ricordati che prima o poi il po-chi gira (Il Maestro) manahmanah |
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
Devi scariarti qualke reference delle funzioni.
Qui: http://www.cplusplus.com/ref/ puoi trovare la reference della libreria standard, quella che dovrebbe essere fornita uguale su tutti i sistemi. Qui: http://www.opengroup.org/onlinepubs/007908799/ hai un reference per gli header disponibili su unix/linux; puoi cliccare su system headers per vedere l'elenco degli headers o su system interface per avere l'elenco delle funzioni. Puoi scaricarti tutta la guida con un programma per scaricare siti come HTTrack
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals |
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Dec 1999
Messaggi: 251
|
Grazie, molto utili questi siti...anche se non sempre ho disponibile una connessione internet mentre programmo e quindi cercherò di aver qualcosa offline !!
Thanx !!
__________________
Il mio "bel volo" What goes in, must comes out (Johnny Noxville) ...e ricordati che prima o poi il po-chi gira (Il Maestro) manahmanah |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:42.