2009-09-13 20 views
7

Wiem, że istnieje wiele tutoriali na początek w C. Jednak trudno mi zastosować tę wiedzę. Sposób, w jaki zawsze zaczynałem od języków, polega na pisaniu skryptów. Oczywiście C nie jest językiem skryptowym.Pierwsze kroki w C

Moje pytanie to nie tyle nauka C, ile to jest, jak zacząć stosować C. Świetnie, mogę napisać konwerter temperatury lub tekstowy rpg. Może dlatego, że w Pythonie po prostu zapisuję kod w somefile.py i chmod + x somefile.py & & somefile.py. Nie mam podobnego procesu dla C. Za każdym razem, gdy czytam o C, jest to inny proces kompilacji z różnymi flagami. Czy ktoś może podać mi jakiś konkretny kierunek na temat najlepszych sposobów zastosowania C, gdy już pracujesz z wysokopoziomowymi, dynamicznymi językami skryptowymi?

Przy okazji. .. Pytam o C, a nie C++.

Zwykle jestem na OpenSuse 11 lub Ubuntu 9.04. "Jaki kompilator używam" jest częścią problemu. W Pythonie nie ma wyboru jego "python somefile.py" samo z php lub ruby. Nie wiedziałem, że są wybory.

+0

Jeśli twoje kodowanie w środowiskach uniksowych, aby skompilować wszystko, czego potrzebujesz, to: gcc -o myprogram myprogram.c – rogeriopvl

+0

Jakiego systemu operacyjnego i kompilatora C chcesz użyć? Musimy to wiedzieć, aby dać ci najlepszą wskazówkę. –

+0

Dla dużych projektów flagi są określone w pliku * Makefile *, więc nie musisz powtarzać kilkunastu kroków za każdym razem, gdy chcesz skompilować. Po prostu uruchamiasz 'make 'i to wszystko. Kiedy twoje programy będą się rozwijać wystarczająco duże, aby można je było dzielić w bibliotekach, proponuję się trochę dowiedzieć o Makefile. Btw, innym popularnym narzędziem do budowania jest * SCons *. –

Odpowiedz

4

Jak napisał Rogeriopvl w komentarzu, proces kompilacji jest naprawdę prosty. Wystarczy napisać kod w somefile.c i

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

(jeśli używasz GCC, a jeśli nie, to kompilator z wyboru może być wywołany prawdopodobnie podobnie) Jeżeli /, aż zaczną się do bardziej skomplikowanych projektów, to jest trochę bardziej skomplikowane niż język skryptowy. (No ... w porządku, być może będziesz musiał połączyć kilka bibliotek, gdy wyjdziesz poza podstawy, ale nadal nie jest to wielka sprawa)

W rzeczywistości napisałem sobie mały skrypt powłoki, który pozwala mi użyj C jako języka skryptowego. Ale proces konfiguracji jest nieco bardziej skomplikowany niż na tym etapie - łatwiej jest po prostu uruchomić kompilator za każdym razem. Jeśli jednak jesteś zainteresowany, mogę wyszukać wskazówki (dotyczące systemu Linux) i umieścić je tutaj.

+1

Co więcej, jeśli twój program nie wymaga żadnych zewnętrznych bibliotek lub specjalnych flag (a jeśli dopiero zaczynasz, jest duża szansa, że ​​tak się nie stanie) możesz po prostu napisać 'make somefile' w linii poleceń i' make' niejawne reguły wywołają dla ciebie 'cc -o somefile somefile.c', nawet jeśli nie masz' Makefile'. – hobbs

0

Najlepszą radą, którą mogę tu podać, jest znalezienie interesującego Cię tematu, sprawdzenie, czy możesz zrobić program, który chcesz, lub pomóc w robieniu tego, co chcesz/dodaniu funkcjonalności do interesującego Cię wyboru, oraz rozpocząć kodowanie.

Daje to premię do robienia czegoś, co cię interesuje, a jednocześnie robi coś, co bezpośrednio na niego wpływa. Powinien dawać motywację do kontynuowania procesu uczenia się.

0

Obecnie pracuję z C z modułami jądra Linux i jestem stosunkowo nowy dla C. Znalazłem to satysfakcjonujące, co moim zdaniem jest ważne dla tego rodzaju hobby "przetwornik temperatury lub tekst oparte na "rpg" programowanie typu.

Staram się również znaleźć zastosowanie umiejętności programowania. Bilans wyzwania i nagrody jest ważny, myślę.

2

Kod C należy skompilować przed uruchomieniem programu. Dokładny proces różni się w zależności od platformy i kompilatora, nad którymi pracujesz.

W przeważającej części, przy użyciu IDE (takie jak Visual studio, Eclipse, MonoDevelop, i kilka innych) zrobi paskudny pracy dla Ciebie tak, że po prostu trzeba nacisnąć przycisk lub kliknąć ikonę. Pobierz jeden z poniższych zapisów:

5

.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; 
} 

i skompilować z

gcc -Wall -o w w.c 

metę

./w 
+2

+1 dla -Wall. Dodałbym również -Wextra i -std = c99 do miksu. –

+0

:) -Wall jest koniecznością – agsamek

2

zadałem sobie to pytanie, gdy uczyłem się C. problem tutaj, jeśli mogę powiedzieć, że jest to problem, jest to, że C może być używany w szerokim zakresie aplikacji i w szerokim zakresie środowisk, które mają własne IDE lub kompilatory i biblioteki. Kilka przykładów użycia C dla prawdziwych pracowników.

Wbudowane oprogramowanie. W tym przypadku prawdopodobnie użyjesz lib.

programowanie sieciowe (spójrz na this book. Rozwoju sterownika

urządzeń.

biblioteki (zarówno dla Linux/Windows i innych systemów operacyjnych)

Cóż ta lista nie ma końca.

Nie wiem, czy pomogę ci w tym pytaniu. Jeśli podasz więcej szczegółów na temat tego, co Cię interesuje, może być pomocny

Powodzenia