2009-05-15 49 views
6

Esta es una pregunta para principiantes, pero según el último podcast, entiendo que ninguna pregunta es demasiado para principiantes.¿Escribir y compilar un programa C en Windows XP?

Tengo 0 experiencia en programación y quiero aprender C, entonces estoy comenzando el libro K & R. Estoy usando una computadora portátil con Windows XP, y estoy planeando usar Notepad ++ para escribir, y Code :: Blocks para compilar.

Aquí está mi pregunta: una vez que he escrito el programa "hello world" en Notepad ++, ¿cómo debo guardarlo, compilarlo y ejecutarlo?

Editar & nueva pregunta: Cuando construyo & ejecuto desde Code :: Blocks, aparece la ventana de aviso con el mensaje "hello world". Permanece abierto hasta que lo cierre manualmente. Sin embargo, cuando hago doble clic en el archivo .exe, el mensaje simplemente parpadea y desaparece, ¿por qué?

Muchas gracias,

JD

Editar: Voy a utilizar Code :: Blocks como un IDE, de acuerdo con las recomendaciones aquí.

+2

No es una respuesta pero realmente no comenzaría con C. Es algo que aprender una vez que tenga una idea de la estructura general de la programación, así que aprecia los indicadores y lo que el código administrado y las VM hacen por usted ... Pero es solo va a ser realmente frustrante. Prueba C#. Buen lenguaje. Buenas herramientas disponibles (gratis de MS). Montones de tutoriales también. – Oli

+0

Oli, gracias. Esos son puntos justos.No soy un hacker profesional, solo quiero desarrollar mis conocimientos de software, y seleccioné C porque (según lo que leo) cubre los principios clave en un lenguaje bastante pequeño. No estoy seguro de qué significan las "máquinas virtuales" en su comentario. ¿Maquinas virtuales? – JDelage

+1

Mi copia de K & R es un texto bien hojeado que fue una referencia inestimable cuando dejé de programar el ensamblador. No puede salir mal, a menos que realmente desee aprender Windows/programación web. C tiene su lugar, (lo uso todos los días) aunque sugeriría que está perdiendo terreno en el escritorio. La programación orientada a objetos se puede hacer en C (mire el kernel de Linux) pero sintácticamente puede ser un desafío para alguien que está aprendiendo. Si acaba de empezar, realmente lo aliento a mirar C#. Para mí, es el primer idioma que 'tiene sentido' de los conceptos del lenguaje moderno. Odio C++, Java. Amor C#. – Jamie

Respuesta

6

Debería poder escribir C en Visual Studio. Ciertamente podrías en versiones anteriores del IDE. Simplemente crea archivos fuente con la extensión .c.

Debería poder construir y ejecutar el código desde Visual Studio.

+0

Gracias. No sabía que podía escribir el código dentro de Visual Studio. Eso hace las cosas mucho más fáciles. – JDelage

+0

Sí y no, podrá escribir un estilo bastante anticuado de C, omitiendo las ordenaciones hechas en los últimos 15 años más o menos. –

+0

Cierto, pero estaba señalando que ya tenía todas las herramientas necesarias. – ChrisF

0

Pruebe con un compilador más simple, como * nix gcc. Visual Studio C++ pone muchas extensiones de MS para codificar archivos.

+0

Este es un principiante completo con 0 experiencia en programación. Es probable que no tenga idea de qué extensiones de MS son. Tu respuesta solo lo confundirá. Lo siento, -1. –

+2

@ unforgiven3: Esta es la razón por la que le sugiero que use un gcc simple o incluso un compilador de Borland C++ gratuito, simplemente para evitar su exposición a las extensiones de MS. Me enseñaron C++ "puro" y me sorprendió cuando vi por primera vez un proyecto C++ vacío en Visual Studio. Quiero que él evite este MS-lío. Creo que me has malentendido. – smok1

+0

Puede compilar el código C en Visual Studio "de la manera antigua", sin ninguna extensión MS. Es fácil. – ine

9

Guárdelo como un archivo .c. Y puede usar el MinGW compiler para compilar el archivo en un archivo .exe. Pero como tiene Visual Studio, debe usar ese compilador.

1

Para comenzar, recomiendo crear su proyecto, editarlo y compilarlo directamente en VC. Luego comience a explorar qué comandos realmente ejecuta VC bajo sus cubiertas (creo que sería algo así como la pestaña de "salida".) Puede hacer todo eso en la línea de comandos aunque Windows no es el entorno más amigable con el programador.

5

Si solo está aprendiendo a programar, no recomendaría comenzar con C. C todavía tiene su lugar hoy en día, pero hay idiomas mucho más fáciles con los que aprender la sintaxis y la técnica básicas. Según entiendo, no hay muchos programadores principiantes C empleados. Sin embargo, puede ser un programador principiante de java, C#, VB, ruby ​​o python y la gente le pagará por aprender. Entonces, una vez que tenga una base sólida en la estructura y la técnica, puede acercarse al metal con C.

Solo mis dos centavos, incluso si no es realmente una respuesta a su pregunta.

+0

Gracias, esos son puntos justos. No planeo una codificación de carrera, solo quiero desarrollar mis conocimientos de software, y seleccioné C porque (basado en lo que leo) cubre los principios clave en un lenguaje bastante pequeño. – JDelage

+0

@JDelage. Es por eso que C es un excelente lugar para comenzar. define claramente las fortalezas y debilidades intrínsecas del software en general. los lenguajes de nivel superior enmascaran esos problemas para que sea más fácil para los desarrolladores, pero crean una ilusión. lo peor de todo son los lenguajes do-it-all masivos como C#, VB y Java. si quieres tomar la forma fácil, divertida y algo perspicaz, ve a Python o Lua – Javier

3

Si NO desea utilizar visual-studio, puede intentar algo como codeblocks que le permite usar el compilador VS ... es mucho más simple + ligero si recién está comenzando.

+0

+1 para bloques de código para un principiante. –

+0

OK, Code :: Blocks es entonces. – JDelage

2

Como han señalado otros carteles, Visual Studio puede ser un poco abrumador para el principiante: muchas opciones, y una gran cantidad de pelusa necesaria para obtener un simple "Hola mundo" por la puerta.

Yo personalmente recomiendo Bloodshed's Dev-C++ IDE para principiantes.Ya no se está trabajando (así que obtenga la versión estable, no la versión beta), pero es muy simple pasar de escribir su primer programa a compilarlo y ejecutarlo. Si te quedas con Windows, eventualmente te mudarás a Visual Studio, pero Dev es un buen lugar al este para comenzar.

Puede editar archivos en Visual Studio, (se trata de un IDE, un entorno de desarrollo integrado y se supone que contiene absolutamente todo lo que necesita para escribir un programa) pero notará que la mayoría de los programadores usan editores externos como Notepad ++ , ya que ofrecen algunas características interesantes que normalmente no se incluyen en un IDE integrado. No se preocupe por eso por el momento, pero pruebe con un editor externo como n ++ cuando esté más familiarizado con el resto del proceso.

Ah, y C en de ninguna manera se puede describir como "cubriendo los principios clave en un lenguaje pequeño". Definitivamente cubre los "principios clave": se ha utilizado para todo lo que está bajo el sol, pero es absolutamente enorme. Si es apropiado para un principiante en estos días está sujeto a debate; definitivamente le dará una buena experiencia, pero no será la forma más fácil de comenzar.

Editar: CodeBlocks es más moderno y todavía en desarrollo, por lo que podría ser un lugar mejor para empezar que DevC++ http://en.wikipedia.org/wiki/Codeblocks

+0

Gracias, estoy corregido en el tamaño de C. OK, Code :: Blocks is then. – JDelage

1

en caso de que no se haya dado cuenta todavía, como Visual Studio, Code :: Blocks también tiene un editor integrado. No necesita escribir en el bloc de notas ++ (a menos que realmente prefiera npp como editor por supuesto)

1

Aquí hay una opinión de alguien que usó C durante años en investigación biomédica: procesamiento de imágenes, crujido de datos. En mi humilde opinión, C es un gran logro intelectual, probablemente la mejor destilación de intención en sintaxis. Aprendería C nuevamente ahora, si estuviera comenzando, incluso si solo con el propósito de aprender a pensar.

Dicho esto, nunca he intentado programar en C en MS. (Todo mi trabajo fue en soles y SGI). Para evitar los gastos generales mencionados en otras respuestas, he cambiado a Python en MS XP/cygwin. Sin embargo, echo de menos la sintaxis expresiva y concisa de C bastante a menudo, y echo de menos cosas con bits y valores almacenados en la memoria. Tenga en cuenta que incluso con Python, el back-end es C y las extensiones personalizadas están codificadas en C. Por lo tanto, si quisiera rehacer mi código de procesamiento de imágenes para Python, probablemente terminaría escribiendo C después de todo.

Disculpa que MS impone una carga tan pesada al escribir sobre el lenguaje más simple jamás inventado. (Por cierto, en cuanto a los editores, mi elección personal es vim (como gvim), no IDEs.) (¿Has pensado en configurar una caja Linux? Mucho por decir en estos días: UNIX sin el costo de las estaciones de trabajo)

2

Si copia el código de K & R, necesita agregar un sistema ("pausa"); antes de terminar main() y asegúrese de guardar el archivo con .c

int main() {

printf ("Hola, mundo \ n");

sistema ("pausa");
return 0;
}
Yo también soy un principiante, espero que esto ayude.

Cuestiones relacionadas