2009-09-13 23 views
7

So che ci sono molti tutorial là fuori per iniziare in C. Tuttavia la sua difficile per me applicare le conoscenze. Il modo in cui ho sempre iniziato nelle lingue è scrivendo script. Certamente C non è un linguaggio di scripting.Guida introduttiva a C

La mia domanda non è tanto sull'apprendimento di C quanto su come iniziare ad applicare C. Grande posso scrivere un convertitore di temperatura o un file di testo basato su rpg. Forse è perché in python ho appena scrivere il codice in somefile.py e chmod + x somefile.py & & somefile.py. Non ho davvero un processo equivalente per C. Ogni volta che leggo su C è un processo di compilazione diverso con bandiere diverse. Qualcuno può darmi qualche indicazione precisa sui migliori modi per applicare C quando lavori già con linguaggi di scripting dinamici di livello superiore?

Btw. .. Sto chiedendo di C e non C++.

Di solito sono su OpenSuse 11 o Ubuntu 9.04. "Il compilatore che uso" è parte del problema. In Python non c'è scelta, è solo "python somefile.py" uguale a php o ruby. Non sapevo che ci fossero delle scelte.

+0

Se la codifica in ambienti unix, per compilare tutto ciò che serve è: gcc -o myprogram myprogram.c – rogeriopvl

+0

Che sistema operativo e compilatore C vuoi usare? Dobbiamo saperlo per darti un suggerimento sulle migliori pratiche. –

+0

Per i progetti di grandi dimensioni i flag sono specificati in un * Makefile * in modo da non dover ripetere una dozzina di passaggi ogni volta che si desidera compilare. Semplicemente esegui "make" e basta. Quando i tuoi programmi cresceranno abbastanza da poter essere suddivisi in biblioteche, ti suggerirei di imparare un po 'su Makefile. Btw, un altro popolare strumento di costruzione è * SCons *. –

risposta

4

Come rogeriopvl ha scritto in un commento, il processo di compilazione è davvero semplice. Basta scrivere il codice in somefile.c e

gcc -o somefile somefile.c && ./somefile 

(se si sta utilizzando GCC, e in caso contrario, il compilatore di scelta probabilmente può essere invocato in modo simile) A meno che/finché non si inizia a entrare in progetti più complicati, è a malapena più complicato di un linguaggio di scripting. (Bene ... okay, potrebbe essere necessario collegare alcune librerie, una volta superato le nozioni di base.)

In effetti, mi sono scritto un piccolo script di shell che mi permette di usa C come linguaggio di scripting. Ma il processo di impostazione è un po 'più complicato di quello che vorresti ottenere in questa fase: è più semplice eseguire il compilatore ogni volta. Tuttavia, se sei interessato, posso cercare le istruzioni (per Linux) e metterle qui.

+1

ancora meglio, se il programma non richiede librerie esterne o bandiere speciali (e se si sta appena iniziando fuori c'è una buona probabilità non lo farà) si può solo scrivere 'make somefile' alla riga di comando e' make' Le regole implicite chiameranno 'cc -o somefile somefile.c' per te anche se non hai un' Makefile'. – hobbs

0

Il miglior consiglio che posso dare qui è trovare un argomento che ti interessa, vedere se puoi fare un programma per fare ciò che vuoi/assistere nel fare ciò che vuoi/aggiungere funzionalità all'interesse di scelta, e inizia la codifica.

Questo dà il bonus di fare qualcosa che ti interessa, e allo stesso tempo fare qualcosa che direttamente lo influenza. Dovrebbe dare la motivazione per continuare a stimolare il processo di apprendimento.

0

sto lavorando con C un sacco in questo momento con i moduli del kernel Linux e sono relativamente nuovo per C. ho trovato questo gratificante che credo sia ciò che è importante per questo tipo di passatempo 'convertitore di temperatura o di un testo -based rpg 'tipo di programmazione.

Ho anche difficoltà a trovare un'applicazione delle competenze di programmazione. L'equilibrio tra sfida e ricompensa è importante, penso.

2

codice C deve essere compilato prima che il programma può essere eseguito. Il processo esatto è diverso a seconda della piattaforma e del compilatore su cui stai lavorando.

Per la maggior parte, utilizzando un IDE (come Visual studio, Eclipse, MonoDevelop, e un mucchio di altre) farà il lavoro sporco per voi in modo che basta premere un pulsante o fare clic su un'icona. Scarica uno di questi

5

w scrittura.c

#include <stdio.h> 

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

e compilare con

gcc -Wall -o w w.c 

corsa

./w 
+2

+1 per -Wall. Vorrei anche aggiungere -Wextra e -std = c99 al mix. –

+0

:) -Il muro è un must – agsamek

2

mi sono posto questa domanda quando stavo imparando C. Il problema qui, se posso dire che questo è un problema, è che C può essere utilizzato in una vasta gamma di applicazioni e in una vasta gamma di ambienti, che uno con i propri IDE o compilatori e librerie. Alcuni esempi in cui è possibile utilizzare C per il personale reale.

Software integrato. In questo caso probabilmente userete qualche lib.

programmazione di rete (date un'occhiata a this book. Sviluppo di driver

periferiche.

librerie (sia per Linux/Windows e altri sistemi operativi)

Ebbene questa lista è infinita.

O non so se ti aiuto con questa domanda Se fornisci maggiori dettagli su ciò che ti interessa, potrebbe essere utile

Buona fortuna