|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Registered User
Iscritto dal: Feb 2005
Messaggi: 1856
|
programmare in C con linux
ho iniziato ad imparare a programmare in C con linux
come edit ho usato vi, poi ho salvato il file con estensione .o però adesso non sò ne come copilarlo ne come eseguirlo. mi date una mano il codice è molto semplice e l'ho copiato da una guida. intanto vorrei imparare a compilare prima di cominciare a imparare sul serio ![]() eccovi il semplicissimo codice (io non ci capisco ancora niente comunque ![]() #include<studio.h> #include<math.h> int mainb() { float a,b; printf("\t Inserisci a \n"); scanf("%f", &a); b = sin(a); printf("\t Il seno di %f vale, %f \n", a, b); { /* fine main */ grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 879
|
per quale motivo l'ha salvato come .o?
per compilare devi crearti un makefile, cerca un esempio e modificalo.
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita Milla |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 879
|
il compilatore (è lui che crea il .o) genererà un file eseguibile (occhio che non avrà estenzione .exe come in dos, ma negli attributi sarà segnato come eseguibile) che "lancerai" ./nomefile
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita Milla |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 879
|
#include<studio.h>
#include<math.h> int mainb() { float a,b; printf("\t Inserisci a \n"); //Scrive sulal console "Inserisci a" scanf("%f", &a); //get del dato che tu digiti in run mode e lo carica in a b = sin(a); //... printf("\t Il seno di %f vale, %f \n", a, b); //scrive sulla console il risultato di sin(a) { /* fine main */ } //meglio così! ![]()
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita Milla |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 879
|
cmq tra un po' passa "trallalero" e ti scrive anche il makefile
![]() Io sono a digiuno di programmazione da più di un anno e non ho più un pc con gli ambienti per le prove e il vecchio codice da ripescare.
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita Milla |
![]() |
![]() |
![]() |
#6 |
Registered User
Iscritto dal: Feb 2005
Messaggi: 1856
|
ops, scusatemi per la mia ignoranza, ma per adesso trovo molto complicato imparare da solo.
devo rivedermi meglio la guida ![]() allora ho capito cosa ho sbagliato, ma se sono da vi con questo codice con qule estensione devo salvarlo o cos'altro devo fare per compilarlo? mi schiatite meglio le idee sul makefile, sulla guida che ho letto non se ne parlava ![]() forse devo fare come ho sempre fatto con i sorgenti da installare creo il file make e poi dò make e quindi ./nomefile oppure make install se è da installare. giusto? grazie per i futuri chiarimenti. |
![]() |
![]() |
![]() |
#7 | ||
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]() Quote:
Il codice corretto è: Codice:
#include <stdio.h> #include <math.h> int main (void) { double a,b; printf("\t Inserisci a \n"); scanf("%lf", &a); b = sin(a); printf("\t Il seno di %f vale, %f \n", a, b); return 0; } Per compilarlo, ammesso che il sorgente si chiami seno.c, basta dare il seguente comando: gcc -lm -o seno seno.c Questa è un metodo diretto, perché crea direttamente l'eseguibile. Un altro metodo è quello di usare un "Makefile" con dentro queste righe: Codice:
seno: seno.o @gcc -lm -o seno seno.o seno.o: seno.c @gcc -c -o seno.o seno.c clean: @rm -f seno.o
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 879
|
Quote:
Il make file contiene le linee necessarie per compilare ed è utile per non dover digitare ogni volta l'infinita linea di comando, vedilo un po' come i .bat di dos... non è proprio la stessa cosa ma +o-... Ora, dirti come scriverlo non lo ricordo a memoria, come ho spiegato nel post precedente.
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita Milla |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 879
|
ecco, quoto andbin
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita Milla |
![]() |
![]() |
![]() |
#10 |
Registered User
Iscritto dal: Feb 2005
Messaggi: 1856
|
grazie, tutto chiaro per ora
ci vediamo al prossimo problema ![]() |
![]() |
![]() |
![]() |
#11 |
Registered User
Iscritto dal: Feb 2005
Messaggi: 1856
|
sono già qua
cosa devo installare per avere le varie librerie perchè se lo compilo mi da questo errore: gcc -lm -o seno seno.c seno.c:1:19: error: studio.h: Nessun file o directory seno.c: In function ‘mainb’: seno.c:7: warning: incompatible implicit declaration of built-in function ‘printf’ seno.c:8: warning: incompatible implicit declaration of built-in function ‘scanf’ seno.c:13: error: syntax error at end of input |
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#13 | |
Registered User
Iscritto dal: Feb 2005
Messaggi: 1856
|
Quote:
ora funzia e adesso mi metto a imparare questo linguaggio grazie mille. |
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 879
|
Quote:
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita Milla |
|
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
![]() ma penso che ArtX lo rivedremo presto ![]()
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 879
|
Quote:
![]()
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita Milla |
|
![]() |
![]() |
![]() |
#17 |
Registered User
Iscritto dal: Feb 2005
Messaggi: 1856
|
questa battuta fa più ridere a me che a voi
![]() è ovvio che mi rivedrete ![]() appena lo trovo mi compro il libro daidel&daidel e inizio a imparare sul serio ![]() intanto sapreste consigliarmi qualche lettura semplice che spiega la teoria di base, magari qualcosa di breve e adatta ai principianti come me. |
![]() |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
![]() Ma su google ci vado e se scrivo "Tricky C" mi arriva un sacco di pagine ![]() Buono studio ![]()
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 879
|
Azz... c'è un libro facile facile che si chiama linguaggio C di due tizi dei quali ora mi sfugge il nome... la copertina è bianca... aiutami trallallero.
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita Milla |
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 879
|
Non è quello che dico io, ma anche questo gironzolava per il poli:
http://users.libero.it/haris/export/recensioni/bbm.htm
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita Milla |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:28.