Vai al contenuto

Il C su Mac!! HELP|


Messaggi raccomandati

Ciao, chiedo scusa per la mia ignoranza, ma dovrei imparare a programmare in C sul Mac, per la mia tesi universitaria... Che programmi mi servono? Cosa devo scaricare? Ho letto di Xcode, ma non so dove trovarlo... Conoscete una guida passo passo x Mac fatta decentemente?? Grazie e scusatemi dell'ignoranza!

iPhone 6 iOS 9.1, Apple Watch, iPad iOS 9, iPod Touch 64 GB 3G iOS 5.1.1, MacBookPro 13" (2009), iMac 21.5" 4k (2015)

Link al commento
Condividi su altri siti

per Xcode parti da qui, ti dovrai registrare come sviluppatore ma è gratuito ;)

Luigi alias Nemesis

Apple ][e SE/30 iMac Late 2012 FusionDrive PowerMac Dual G4 n. 2 iBook G4 n. 2 MacBook 2009 MacBook Air 2015 iPod Touche 4G, Nano e Shuffle iPhone X 64GB iPad Air 2 WiFi + cellular iPad 2 3G e iPad 2 solo WiFi

Link al commento
Condividi su altri siti

Io mi trovo meglio perchè l'ho usato anche per il Java e funziona alla grande.

Poi è tutta questione di abitudine.

Poichè ci ho passato un sacco di tempo lì sopra allora per me è più "normale".

Link al commento
Condividi su altri siti

Non c'è un ambiente sostanzialmente più semplice degli altri, in termini assoluti. Ognuno ha la sua peculiarità, e risulta essere più adatto degli altri per alcune cose, meno per altre.

Si tratta di capire qual'è il tuo scopo, e cosa ci dovrai fare. Se per la tua tesi ci dovessi fare dei semplici programmi a linea di comando, per scheletriche implementazioni di algoritmi, allora imparare un ambiente di sviluppo articolato come quelli menzionati, lo riterrei una dispendiosa perdita di tempo. Scaricati un editor di testo adatto a scrivere codice C (ho sentito parlare bene di BBEdit), e per il resto apri una finestra di terminale, e lancia da lì i comandi di compilazione. Sono convinto che sarebbe la soluzione più veloce de efficiente.

Michele

Think (different), feel, drive...

Link al commento
Condividi su altri siti

Non c'è un ambiente sostanzialmente più semplice degli altri, in termini assoluti. Ognuno ha la sua peculiarità, e risulta essere più adatto degli altri per alcune cose, meno per altre.

Si tratta di capire qual'è il tuo scopo, e cosa ci dovrai fare. Se per la tua tesi ci dovessi fare dei semplici programmi a linea di comando, per scheletriche implementazioni di algoritmi, allora imparare un ambiente di sviluppo articolato come quelli menzionati, lo riterrei una dispendiosa perdita di tempo. Scaricati un editor di testo adatto a scrivere codice C (ho sentito parlare bene di BBEdit), e per il resto apri una finestra di terminale, e lancia da lì i comandi di compilazione. Sono convinto che sarebbe la soluzione più veloce de efficiente.

Michele

Esatto, il mio scopo è proprio quello che hai detto! Seguirò il tuo consiglio! Grazie mille!

iPhone 6 iOS 9.1, Apple Watch, iPad iOS 9, iPod Touch 64 GB 3G iOS 5.1.1, MacBookPro 13" (2009), iMac 21.5" 4k (2015)

Link al commento
Condividi su altri siti

Allora ti basta scrivere su un file di testo. Salvarlo con estensione .c e quindi aprire il terminale per compilare.

Non so su mac se è uguale, però su Ubuntu da terminale per compilare io faccio

gcc nomefile.c -o nomeeseguibile

Week end? Gita? Vacanza? Leggi la nostra esperienza: Go2Go.eu

Link al commento
Condividi su altri siti

Allora ti basta scrivere su un file di testo. Salvarlo con estensione .c e quindi aprire il terminale per compilare.

Non so su mac se è uguale, però su Ubuntu da terminale per compilare io faccio

gcc nomefile.c -o nomeeseguibile

si si, dovrebbe funzionare cosi da quello che ho letto!! Grazie mille!

iPhone 6 iOS 9.1, Apple Watch, iPad iOS 9, iPod Touch 64 GB 3G iOS 5.1.1, MacBookPro 13" (2009), iMac 21.5" 4k (2015)

Link al commento
Condividi su altri siti

Ho creato il primo programma, tanto per provare:

# include <stdio.h>

main ()

{

printf("Hello World \n");

}

Solo che quando faccio run in terminal (Uso BBEdit) mi da errore: this file doesn't appear to contain a valid shebang line. Cosa vuol dire?

iPhone 6 iOS 9.1, Apple Watch, iPad iOS 9, iPod Touch 64 GB 3G iOS 5.1.1, MacBookPro 13" (2009), iMac 21.5" 4k (2015)

Link al commento
Condividi su altri siti

Posso andare controcorrente a quello che ti hanno detto prima e consigliarti di usare un editor come Xcode o Eclipse (io preferisco il primo per il C ), anche perchè se sei alle prime armi ha anche molto comodo l'autocompletamento e l'indentazione automatica..se fai nuovo progetto-> Command Line Tool -> c++ stdc++ poi ti si apre un main in automatico già funzionante con il suo hello world..dopo di che ti puoi sbizzarrire..

XCode sempra complicato ma secondo me non lo è..anche se adesso sono curioso di vedere il 4..

Ciao buona compilazione..:ghghgh:

Antivirus su mac? No grazie!! Utente Mac dal 10 aprile 2009.

 MacBook air 13, MacBook White 13, Canon Eos 1100D, Nexus5  . Lurker. Tartassala!! ToDo: Tentare di conquistare il mondo!!

Link al commento
Condividi su altri siti

il file con estensione c dove l'hai collocato? Occhio che altrimenti non lo prende.

Come fai il run in terminal?

Il file .c è collocato in Documenti; per fare Run in Terminal, vado nel menù a tendina #! e schiaccio il pulsante Run in terminal

iPhone 6 iOS 9.1, Apple Watch, iPad iOS 9, iPod Touch 64 GB 3G iOS 5.1.1, MacBookPro 13" (2009), iMac 21.5" 4k (2015)

Link al commento
Condividi su altri siti

mmm prova a farlo direttamente dal terminale...

Col terminale funziona. Io volevo solo capire xk dal software mi da quell'errore

iPhone 6 iOS 9.1, Apple Watch, iPad iOS 9, iPod Touch 64 GB 3G iOS 5.1.1, MacBookPro 13" (2009), iMac 21.5" 4k (2015)

Link al commento
Condividi su altri siti

se utilizzi solo l'ide non capisci quello che ci sta sotto, no?

io di solito per piccoli esercizi faccio così: creo il file con un editor tipo smultorn o textedit poi in un altro desktop apro un terminale. così con una semplice combinazione di tasti passo dall'editing alla compilazione ed esecuzione.

Problemi a programmare il tuo iphone? contattami

Link al commento
Condividi su altri siti

Posso andare controcorrente a quello che ti hanno detto prima e consigliarti di usare un editor come Xcode o Eclipse (io preferisco il primo per il C ),

Certo che puoi. Ognuno di noi è qui per esprimere la propria opinione.

anche perchè se sei alle prime armi ha anche molto comodo l'autocompletamento e l'indentazione automatica..

XCode sempra complicato ma secondo me non lo è..anche se adesso sono curioso di vedere il 4..

tuttavia io continuo a sostenere che non c'è una risposta valida in assoluto, ma molto dipende dall'ambito.

Se lo scopo è realizzare un programma concreto nel più breve tempo possibile, potrei essere d'accordo sul fatto che un ambiente di sviluppo ricco di strumenti accessori può essere molto produttivo. Sono anche d'accordo sul fatto che non sia affatto difficile da utilizzare, ma aggiungo: dopo che hai imparato. Quanto velocemente si riesca ad imparare ad utilizzarlo, è tutto in discussione.

Se invece lo scopo è didattico, ovvero i programmi da scrivere servono solo a fare degli esercizi per imparare, caratteristiche come auto-completamento, auto-indentazione, ecc. sono controproducenti. Se esercizio deve essere, esercizio sia...

Per andare sul pratico, parliamo dell'errore segnalato" file doesn't appear to contain a valid shebang line".

In computing, a shebang (also called a hashbang, hashpling, pound bang, or crunchbang) is the character sequence consisting of the characters number sign and exclamation point (#!), when it occurs as the first two characters in the first line of a text file. In this case, the program loader in Unix-like operating systems parses the first line and invokes the program specified after the character sequence with any command line options specified as parameters, and pipes the contents of the file to the program on its standard input channel.

Per parafrasare, "shebang" è proprio la coppi adi caratteri "#!", che normalmente identificano uno script, ovvero un programma che andrà interpretato, e deve essere seguito dall'interprete a cui far lo eseguire. Non so darti grossi consigli su BBEdit, perché non lo uso per programmre dai tempi del macintosh LC3, con il System 7, ma da quello che dici il comando che hai usato serve per eseguire il programma presente nella finestra, come se fosse uno script.

Ma nel tuo caso stai scrivendo un programma in C, non uno script, quindi devi prima compilare il programma, operazione che darà origine al file eseguibile vero e proprio. Qualcuno ti ha correttamente indicato il comando per compilare:

gcc -o file_eseguibile programma.c

questo comando compila il file "programma.c", e genera il file "file_eseguibile". A questo punto, nella stessa finestra (di terminale) puoi eseguire il programma con

./programma_eseguibile

Ti dò un'altra dritta, se non lo sai già. La funziona main() andrebbe dichiarata così:

int main(int argc, char **argv)

Così facendo argc conterrà il numero di argomenti della linea di comando, e argvrisulterà essere un array di stringhe contenenti i singoli argomenti. Ad esempio, con il comando:

./mioprogramma argomento1 argomento2 argomento 3

argc sarà uguale a 4

argv[0] sarà "mioprogramma"

argv[1] sarà "argomento1"

argv[2] sarà "argomento2"

argv[3] sarà "argomento3"

Per curiosità, prova a compilare questo programma:

# include <stdio.h>

int main (int argc, char **argv)
{
 int i;
 for(i=0 ; i<argc ; ++i)
   {
     printf("argomento %d: %s \n",i,argv[i]);
   }
	}

Poi compila, e lancialo con diverse sequenze di argomenti.

se fai nuovo progetto-> Command Line Tool -> c++ stdc++ poi ti si apre un main in automatico già funzionante con il suo hello world..dopo di che ti puoi sbizzarrire..

Se hai problemi ad ambientarti nella finestra di terminale, questa è una buona soluzione. Ma tieni presente che anche qui avrai bisogno di ambientarti.

Ciao buona compilazione..:ghghgh:

Buon divertimento!

Michele

Think (different), feel, drive...

Link al commento
Condividi su altri siti

Certo che puoi. Ognuno di noi è qui per esprimere la propria opinione.

tuttavia io continuo a sostenere che non c'è una risposta valida in assoluto, ma molto dipende dall'ambito.

Se lo scopo è realizzare un programma concreto nel più breve tempo possibile, potrei essere d'accordo sul fatto che un ambiente di sviluppo ricco di strumenti accessori può essere molto produttivo. Sono anche d'accordo sul fatto che non sia affatto difficile da utilizzare, ma aggiungo: dopo che hai imparato. Quanto velocemente si riesca ad imparare ad utilizzarlo, è tutto in discussione.

Se invece lo scopo è didattico, ovvero i programmi da scrivere servono solo a fare degli esercizi per imparare, caratteristiche come auto-completamento, auto-indentazione, ecc. sono controproducenti. Se esercizio deve essere, esercizio sia...

Per andare sul pratico, parliamo dell'errore segnalato" file doesn't appear to contain a valid shebang line".

Per parafrasare, "shebang" è proprio la coppi adi caratteri "#!", che normalmente identificano uno script, ovvero un programma che andrà interpretato, e deve essere seguito dall'interprete a cui far lo eseguire. Non so darti grossi consigli su BBEdit, perché non lo uso per programmre dai tempi del macintosh LC3, con il System 7, ma da quello che dici il comando che hai usato serve per eseguire il programma presente nella finestra, come se fosse uno script.

Ma nel tuo caso stai scrivendo un programma in C, non uno script, quindi devi prima compilare il programma, operazione che darà origine al file eseguibile vero e proprio. Qualcuno ti ha correttamente indicato il comando per compilare:

gcc -o file_eseguibile programma.c

questo comando compila il file "programma.c", e genera il file "file_eseguibile". A questo punto, nella stessa finestra (di terminale) puoi eseguire il programma con

./programma_eseguibile

Ti dò un'altra dritta, se non lo sai già. La funziona main() andrebbe dichiarata così:

int main(int argc, char **argv)

Così facendo argc conterrà il numero di argomenti della linea di comando, e argvrisulterà essere un array di stringhe contenenti i singoli argomenti. Ad esempio, con il comando:

./mioprogramma argomento1 argomento2 argomento 3

argc sarà uguale a 4

argv[0] sarà "mioprogramma"

argv[1] sarà "argomento1"

argv[2] sarà "argomento2"

argv[3] sarà "argomento3"

Per curiosità, prova a compilare questo programma:

# include <stdio.h>

int main (int argc, char **argv)
{
 int i;
 for(i=0 ; i<argc ; ++i)
   {
     printf("argomento %d: %s \n",i,argv[i]);
   }
	}

Poi compila, e lancialo con diverse sequenze di argomenti.

Se hai problemi ad ambientarti nella finestra di terminale, questa è una buona soluzione. Ma tieni presente che anche qui avrai bisogno di ambientarti.

Buon divertimento!

Michele

Troppo utile!!!!!! Grazie mille!!!!

iPhone 6 iOS 9.1, Apple Watch, iPad iOS 9, iPod Touch 64 GB 3G iOS 5.1.1, MacBookPro 13" (2009), iMac 21.5" 4k (2015)

Link al commento
Condividi su altri siti

  • 3 mesi dopo...

Secondo me il problema è che nella prima riga hai lasciato uno spazio tra # e include.

io sto studiando C, uso Xcode e un libro molto interessante:

http://www.amazon.it/Learn-C-Mac-Dave-Mark/dp/1430218096/ref=sr_1_1?ie=UTF8&qid=1296147201&sr=8-1

è anche in offerta, ti insegna il C su Xcode, fantastico.

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...