2009-09-13 10 views
7

Je sais qu'il existe de nombreux tutoriels pour commencer en C. Cependant, il est difficile pour moi d'appliquer les connaissances. La façon dont j'ai toujours commencé dans les langues est en écrivant des scripts. Bien sûr, C n'est pas un langage de script. Ma question n'est pas tant d'apprendre C que de commencer à appliquer C. Je peux écrire un convertisseur de température ou un rpg textuel. Peut-être parce qu'en python, je viens d'écrire le code dans somefile.py et chmod + x somefile.py & & somefile.py. Je n'ai pas vraiment de processus équivalent pour C. Chaque fois que je lis sur C, c'est un processus de compilation différent avec des drapeaux différents. Quelqu'un peut-il juste me donner une orientation précise sur les meilleures façons d'appliquer C lorsque vous travaillez déjà avec des langages de script dynamiques de plus haut niveau?Mise en route en C

Btw. .. Je pose des questions sur C et non C++.

Je suis généralement sur OpenSuse 11 ou Ubuntu 9.04. "Quel compilateur est-ce que j'utilise" fait partie du problème. En python il n'y a pas de choix c'est juste "python somefile.py" même avec php ou ruby. Je ne savais pas qu'il y avait des choix.

+0

Si votre codage dans des environnements Unix, pour compiler tout ce dont vous avez besoin est: gcc -o myprogram myprogram.c – rogeriopvl

+0

Quel système d'exploitation et compilateur C voulez-vous utiliser? Nous devons le savoir pour vous donner une suggestion de meilleure pratique. –

+0

Pour les projets volumineux, les drapeaux sont spécifiés dans * Makefile *. Vous n'avez donc pas à répéter une douzaine d'étapes chaque fois que vous voulez compiler. Vous lancez simplement 'make 'et c'est tout. Lorsque vos programmes deviendront assez grands pour pouvoir être scindés en bibliothèques, je vous suggérerais d'en apprendre un peu plus sur Makefile. Btw, un autre outil de construction populaire est * SCons *. –

Répondre

4

Comme rogeriopvl a écrit un commentaire, le processus de compilation est vraiment simple. Il suffit d'écrire le code dans somefile.c et

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

(si vous utilisez GCC, et sinon, votre compilateur de choix peut probablement être invoqué de façon similaire) À moins/jusqu'à ce que vous commencez à entrer dans des projets plus complexes, c'est à peine plus compliqué qu'un langage de script. (Bon ... d'accord, vous devrez peut-être relier certaines bibliothèques, une fois que vous aurez dépassé les bases.) Mais en fait, ce n'est pas énorme.)

En fait, je me suis écrit un petit script shell qui me permet de utilisez C comme langage de script. Mais le processus de mise en place est un peu plus compliqué que ce que vous pouvez vouloir entrer dans cette étape - il est plus simple d'exécuter le compilateur à chaque fois. Pourtant, si cela vous intéresse, je peux rechercher les directions (pour Linux) et les mettre ici.

+1

Mieux encore, si votre programme ne nécessite pas de bibliothèques externes ou de drapeaux spéciaux (et si vous débutez il y a de fortes chances que ce ne soit pas le cas), vous pouvez écrire 'makefile' en ligne de commande et' make' Les règles implicites appellent 'cc -o somefile somefile.c' pour vous même si vous n'avez pas' Makefile'. – hobbs

0

Le meilleur conseil que je peux donner ici est de trouver un sujet qui vous intéresse, voir si vous pouvez faire un programme pour faire ce que vous voulez/aider à faire ce que vous voulez/ajouter des fonctionnalités à l'intérêt de votre choix commencer à coder. Cela donne le bonus de faire quelque chose qui vous intéresse, et en même temps faire quelque chose qui l'influence directement. Cela devrait donner la motivation pour continuer à avancer avec le processus d'apprentissage.

0

Je travaille beaucoup avec C en ce moment avec les modules Linux Kernel et je suis relativement nouveau à C. J'ai trouvé cela gratifiant, ce qui est important pour ce genre de passe-temps 'convertisseur de température ou un texte basé sur la programmation de type. J'ai également du mal à trouver une application de compétences en programmation. L'équilibre des défis et des récompenses est important je pense.

2

Le code C doit être compilé avant que le programme puisse être exécuté. Le processus exact est différent en fonction de la plateforme et du compilateur sur lesquels vous travaillez.

Pour la plupart, en utilisant un IDE (comme Visual studio, Eclipse, MonoDevelop, et un tas d'autres) fera le travail désagréable pour vous afin que vous suffit d'appuyer sur un bouton ou cliquez sur une icône. Télécharger l'un de ces

5

écrire w.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; 
} 

et compiler avec

gcc -Wall -o w w.c 

run

./w 
+2

+1 pour -Wall. J'ajouterais aussi -Wextra et -std = c99 au mix. –

+0

:) -Wall est un must – agsamek

2

Je me suis posé cette question quand j'apprenais C. Le problème ici, si je peux dire cela est un problème, est que C peut être utilisé dans une large gamme d'applications et dans un large éventail d'environnements, dont un avec ses propres IDE ou compilateurs et bibliothèques. Quelques exemples où vous pouvez utiliser C pour le vrai personnel.

Logiciel intégré. Dans ce cas, vous utiliserez probablement un peu de lib.

programmation réseau (jetez un oeil à this book.

développement de pilotes de périphériques.

Bibliothèques (à la fois pour Linux/Windows et d'autres systèmes d'exploitation)

Eh bien cette liste est sans fin.

Je ne sais pas si je vous aide avec cette question Si vous donnez plus de détails sur ce qui vous intéresse, pourrait être utile

Bonne chance