2009-09-13 7 views
7

Sé que hay muchos tutoriales para comenzar en C. Sin embargo, es difícil para mí aplicar el conocimiento. La forma en que siempre comencé en los idiomas es escribiendo guiones. Por supuesto, C no es un lenguaje de scripting.Comenzando en C

Mi pregunta no es tanto sobre aprender C como sobre cómo comenzar a aplicar C. Genial, puedo escribir un convertidor de temperatura o un rpg basado en texto. Tal vez es porque en Python simplemente escribo el código en somefile.py y chmod + x somefile.py & & somefile.py. Realmente no tengo un proceso equivalente para C. Cada vez que leo sobre C, es un proceso de compilación diferente con diferentes indicadores. ¿Alguien puede darme una dirección definitiva sobre las mejores formas de aplicar C cuando ya trabaja con lenguajes dinámicos de scripting de alto nivel?

Btw. .. Pregunto por C y no por C++.

Normalmente estoy en OpenSuse 11 o Ubuntu 9.04. "¿Qué compilador utilizo?" Es parte del problema. En Python no hay otra opción que sea simplemente "python somefile.py", lo mismo con php o ruby. No sabía que había opciones.

+0

Si su codificación en entornos Unix, para compilar todo lo que necesita es: gcc -o myprogram myprogram.c – rogeriopvl

+0

¿Qué sistema operativo y compilador de C desea utilizar? Tenemos que saberlo para darle una sugerencia de la mejor práctica. –

+0

Para proyectos grandes, los indicadores se especifican en * Makefile * para que no tenga que repetir una docena de pasos cada vez que quiera compilar. Simplemente ejecuta 'make 'y eso es todo. Cuando sus programas crezcan lo suficiente como para que puedan dividirse en bibliotecas, le sugiero que aprenda un poco sobre Makefile. Por cierto, otra herramienta popular de compilación es * SCons *. –

Respuesta

4

Como rogeriopvl escribió en un comentario, el proceso de compilación es realmente simple. Sólo tiene que escribir el código en somefile.c y

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

(si está usando GCC, y si no, el compilador de elección probablemente se puede invocar de manera similar) A menos que/hasta que comienza a recibir en los proyectos más complicados, es apenas más complicado que un lenguaje de scripting. (Bueno ... vale, puede que tengas que vincular algunas bibliotecas, una vez que superas los conceptos básicos. Pero aún así, no es un gran problema.)

De hecho, me escribí un pequeño script de shell que me permite usa C como lenguaje de scripting. Pero el proceso para configurarlo es un poco más complicado de lo que puede desear obtener en esta etapa; es más sencillo ejecutar el compilador cada vez. Aún así, si está interesado, puedo buscar las instrucciones (para Linux) y ponerlas aquí.

+1

Mejor aún, si su programa no requiere bibliotecas externas o banderas especiales (y si recién está empezando, hay una buena posibilidad de que no lo haga) puede simplemente escribir 'make somefile' en la línea de comando y' make' Las reglas implícitas llamarán 'cc -o somefile somefile.c' para ti aunque no tengas' Makefile'. – hobbs

0

El mejor consejo que puedo darle aquí es encontrar un tema que le interese, ver si puede hacer un programa para hacer lo que quiere/ayudar a hacer lo que quiera/agregar funcionalidad al interés de su elección, y comenzar a codificar

Esto le da la ventaja de hacer algo que le interesa y, al mismo tiempo, hacer algo que lo influencie directamente. Debe dar la motivación para seguir avanzando con el proceso de aprendizaje.

0

Actualmente estoy trabajando con C mucho con los módulos Kernel de Linux y soy relativamente nuevo con C. He encontrado esta recompensa que creo que es lo importante para este tipo de hobby 'convertidor de temperatura o un texto basado en rpg 'tipo de programación.

También me cuesta encontrar una aplicación de habilidades de programación. El equilibrio de desafío y recompensa es importante, creo.

2

El código C debe compilarse antes de poder ejecutar el programa. El proceso exacto es diferente según la plataforma y el compilador en los que esté trabajando.

En su mayor parte, el uso de un IDE (como Visual studio, Eclipse, MonoDevelop, y un montón de otros) va a hacer el trabajo desagradable para usted para que usted sólo tiene que pulsar un botón o haga clic en un icono. Descargue uno de estos

5

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

y compilar con

gcc -Wall -o w w.c 

plazo

./w 
+2

+1 para -Wall. También agregaría -Wextra y -std = c99 a la mezcla. –

+0

:) -Wall es una necesidad – agsamek

2

yo hice esta pregunta cuando estaba aprendiendo C. El problema aquí, si puedo decir que esto es un problema, es que C se puede usar en una amplia gama de aplicaciones y en una amplia gama de entornos, que tiene sus propios IDE o compiladores y bibliotecas. Algunos ejemplos donde puede usar C para el personal real.

Software incrustado. En este caso, probablemente uses algo de lib.

programación de la red (echar un vistazo a this book. Desarrollo de pilotos

dispositivo.

Bibliotecas (tanto para Linux/Windows y otros sistemas operativos)

bien esta lista es interminable.

No sé si te ayudo con esta pregunta. Si proporcionas más detalles sobre lo que te interesa, podría ser útil

Buena suerte