C compilador para Windows? [cerrado]


124

Estoy bien trabajando en Linux usando gcc como mi compilador de C, pero me gustaría una solución de Windows. ¿Algunas ideas? He mirado Dev-C ++ de Bloodshed pero estoy buscando más opciones.


Consulte el Subsistema de Windows para Linux introducido en 2017. Esto le permite ejecutar herramientas nativas de Linux como gcc directamente en Windows. Ver: docs.microsoft.com/en-us/windows/wsl/install-win10 y howtogeek.com/249966/…
Evan Rosica

Respuestas:



36

Puede obtener Visual C ++ Express Edition directamente de Microsoft, si desea algo dirigido a Win32. De lo contrario, MinGW o lcc, como se sugiere en otra parte.


3
Visual Studio es excelente, pero si usan linux / gcc en clase, probablemente no sea la mejor opción.
Joel Coehoorn

1
El problema es que C y C ++ son lenguajes diferentes. El código C no siempre funciona en C ++.
tloach

9
Creo que Visual C ++ también tiene un compilador en modo C.
Alex M

44
Stroustrup lo aclara aquí: public.research.att.com/~bs/bs_faq.html#C-is-subset Creo que la peor parte es la falta de coincidencia sizeof () para caracteres e ints, además de las palabras clave agregadas en C ++.
Alex M

17
Como @Richard dijo en los comentarios: VC ++ carece de funciones C99.
jfs

23

El CCG es ubicuo. Es confiable y bien entendido por miles de personas en docenas de comunidades.

Visual Studio es quizás el mejor IDE jamás desarrollado. Tiene un gran compilador debajo. Pero es estrictamente solo para Windows.

Si solo estás jugando, obtén GCC, es gratis. Si le preocupan las plataformas múltiples, es GCC. Si está hablando de un desarrollo serio de Windows, obtenga Visual Studio.


Ahora Visual Studio Codehay una multiplataforma, con más o menos la misma funcionalidad.
Dr_Zaszuś

19

Siempre puedes usar gcc a través de cygwin.


13
Esto vincula su aplicación a la DLL de Cygwin, que es realmente irritante, en mi opinión.
Alex M

Estoy de acuerdo, pero si la aplicación tiene un instalador, se puede agrupar el dll.
UnkwnTech

13
Use la opción --mno-cygwin al compilar bajo cygwin. Esto hace que compile los binarios de MinGW; no se necesita Cygwin DLL.
Colin el

55
-mno-cygwinya no es compatible: instale los paquetes de compilador cruzado MinGW apropiados para su plataforma en su lugar
Christoph

17

Hay otro compilador de C gratuito para Windows: Pelles C.

Pelles C es un kit de desarrollo completo para Windows y Windows Mobile. Contiene, entre otras cosas, un compilador C optimizador, un ensamblador de macros, un vinculador, un compilador de recursos, un compilador de mensajes, una utilidad de creación e instaladores de instalación para Windows y Windows Mobile. También contiene un entorno de desarrollo integrado (IDE) con gestión de proyectos, depurador, editor de código fuente y editores de recursos para diálogos, menús, tablas de cadenas, tablas aceleradoras, mapas de bits, iconos, cursores, cursores animados, videos de animación (AVI sin sonido), versiones y manifiestos XP.

URL: http://www.smorgasbordet.com/pellesc/


12

Personalmente, he estado buscando usar MinGW (lo que utiliza Bloodshed) con el IDE de Bloques de Código .

También estoy considerando usar el compilador Digital Mars C / C ++ .

Ambos parecen estar bien considerados.


Digital Mars C / C ++ ha existido por algún tiempo y funciona bien. Sin embargo, se encontrará con problemas de vinculación para las bibliotecas, ya que utiliza un formato de archivo de objetos no tan común. Si puede obtener el código fuente, eso no es un gran problema. Además, nunca los he usado, pero hay herramientas de conversión de formato de archivo.
BCS

8

¡Puede probar Code :: Blocks , que es mejor IDE y viene con MinGW GCC! Lo he usado y es un IDE freeware demasiado bueno para C / C ++.


@zeboidlund, ¿y cuál es la versión post winxp?
Pacerier

8

GCC no es técnicamente un compilador específico de Linux. Es un compilador c / c ++ compatible con los estándares, y lo uso para programas de Windows a diario. Probablemente sea mejor que lo use hasta que se sienta más cómodo con otra cosa.

Le recomiendo que use la distribución MinGW de GCC. Eso compilará sus programas de forma nativa para Windows, utilizando una biblioteca estándar, etc.

Si está buscando un IDE, tengo dos recomendaciones. Visual Studio es la versión de Microsoft, y aunque tiene sus problemas, es un IDE excelente para trabajar con el código. Sin embargo, si está buscando algo un poco más liviano, CodeBlocks también es bastante bueno y tiene el beneficio adicional de poder usar básicamente cualquier compilador que haya instalado (incluidas varias formas de GCC y el compilador de Microsoft que viene con Visual Studio) y poder abrir archivos de proyecto para otros IDE. Además, también se ejecuta en Linux, por lo que puede hacer que la transición sea aún más fácil para usted.

Personalmente prefiero GCC, pero solo soy yo. Si realmente desea la solución de Microsoft, VS es el camino a seguir.


7

MinGW sería una traducción directa de gcc para Windows, o es posible que desee consultar LCC , vanilla c (más o menos) con un IDE. Pelles C parece estar basado en lcc y tiene un IDE algo más agradable, aunque no lo he usado personalmente. Por supuesto, siempre existe la Edición Express de MSVC que es gratuita, pero esa es su decisión.


6

La mayoría de las universidades te dan acceso a Microsoft Dreamspark .

Si está utilizando GCC / Linux en clase, simplemente instale Ubuntu . Windows es una plataforma terrible para el desarrollo de C.


16
Windows es una plataforma terrible para todo el desarrollo. Arreglado eso para ti.
notbad.jpeg

44
Es la mejor opción para Visual Basic, ¡no puedes negar eso!
rlms

1
@sweeneyrod: Para ser justos, usar VB para desarrollar aplicaciones para Wine sería bastante bueno.
Matt Joiner el

El problema con algo a lo que se accede a través de la universidad es que, una vez que termina la clase, no tiene forma de poner en práctica las habilidades que trabajó tan duro para adquirir.
richard1941

@ richard1941: No es la intención en la universidad aplicar a la industria exactamente esas tecnologías que aprendiste en clase.
Matt Joiner el

5

Tenga cuidado de usar un compilador de C, no C ++ si realmente está haciendo C. Si bien la mayoría de los programas en C funcionarán usando un compilador de C ++, hay suficientes diferencias que pueden haber problemas. Estoy de acuerdo con las personas que sugieren usar gcc a través de cygwin.

EDITAR:
http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B muestra algunas de las principales diferencias


¿Puedes dar detalles sobre "suficientes diferencias"?
Mark


2
Cualquier compilador de C ++ también compilará C: por lo general, el modo del compilador se seleccionará automáticamente en función de la extensión del nombre del archivo, pero cada compilador también tiene una opción para forzar el modo C o C ++ independientemente del nombre del archivo.
Michael Burr



3

Llego tarde a esta fiesta, pero para cualquier futura persona de C en Windows, Visual Studio apunta a C90 en lugar de C99, que es lo que obtendría en * nix. Actualmente estoy apuntando a C99 en Windows usando Sublime Text 2 junto con Cygwin.



1

Ha habido algunos comentarios que señalan que C no es C ++. Si bien eso es cierto, también es cierto que cualquier compilador de C ++ también compilará C: por lo general, el modo de compilador se seleccionará automáticamente en función de la extensión del nombre de archivo, pero cada compilador también tiene una opción para forzar el modo de C o C ++ independientemente del nombre de archivo.

Elija el compilador gratuito de C ++ con el que se sienta más cómodo con gcc, VC ++ Express, Digital Mars, lo que sea. Utilice el IDE que más le guste: emacs, vim, VC ++ Express, Code :: Blocks, Bloodshed, de nuevo lo que sea.

Cualquiera de estas herramientas será más que adecuada para el aprendizaje. Personalmente, dado que está preguntando acerca de Windows, elegiría VC ++ Express: es un gran IDE, es gratis y compilará los programas C perfectamente.


1
Hablando por experiencia: VC es un horrible compilador de C. Todo lo moderno que existe se ha quedado atrás en VC. Para C ++ es genial ... para C, es horrible.
zeboidlund

0

Visual C ++ Express es un IDE fino y gratuito para Windows que viene con un compilador.

Si se siente más cómodo con las soluciones de línea de comandos en general y con gcc en particular, MinGW o Cygwin podrían estar más en su callejón. También son ambos gratis.


0

Todo se reduce a lo que estás usando en clase.

Si los laboratorios y las tareas están en Linux, entonces probablemente desee una solución MinGW. Si están en Windows, obtenga Visual Studio Express.


0

¿No puedes obtener una versión gratuita de Visual Studio Student Addition de tu escuela? La mayoría de las universidades tienen programas para dar software gratuito a los estudiantes.


1
No, tiene razón. Hay un programa especial llamado "Dream Spark", no es que yo apoyara una cosa tan astuta de Microsoft.
Matt Joiner

0

¿Te refieres al Dev-C ++ de Bloodshed? Es un buen IDE visual para C ++ que usa gcc de MinGW para Windows como el compilador detrás de escena. El proyecto ha sido abandonado por un tiempo (en mi opinión, usar Delphi para desarrollar un IDE de C ++ es algo muy estúpido para llamar la atención de los desarrolladores), sin embargo, no hay nada que te impida usarlo y actualizar la versión del gcc de MinGW utiliza para el último, además tiene licencia GPL.


0

Uso DEV C ++, CygWin o Visual C ++ Express de BloodShed. Todos los cuales son gratuitos y funcionan bien. He descubierto que para mí, DEV C ++ funcionó mejor y fue el menos peculiar. Cada compilador tiene sus propias peculiaridades y diferencias, debe probar algunas y encontrar la que le resulte más cómoda. También me gustó el hecho de que DEV C ++ me permitió cambiar las fuentes que se usan en el editor. ¡Me gustan las fuentes de programación Proggy!


-1

¿Deben funcionar los compiladores de Windows C ++?

Además, echa un vistazo a MinGW .


66
C! = C ++. Existen diferencias tales que no todo el código C incluso se compilará en C ++.
tloach
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.