Compilador C para Windows? [fechadas]


124

Estou bem trabalhando no Linux usando o gcc como meu compilador C, mas gostaria de uma solução para Windows. Alguma ideia? Eu olhei para o Dev-C ++ do Bloodshed, mas procurando mais opções.


Confira o Windows Subsystem para Linux lançado em 2017. Isso permite executar ferramentas nativas do Linux, como o gcc, no Windows. Consulte: docs.microsoft.com/en-us/windows/wsl/install-win10 e howtogeek.com/249966/…
Evan Rosica

Respostas:


79

Você pode usar o GCC no Windows fazendo o download do MingW ( descontinuado ) ou de seu sucessor Mingw-w64 .


1
stackoverflow.com/questions/29205033/… - Mas o uso do MinGW no Windows não resolve os problemas para lidar com LibVLC e Gstreamer. Ao usar o MinGW, os executáveis ​​são interrompidos. Existe alguma solução melhor?

1
Embora o mingw seja um projeto fantástico, ele não me agradou quando eu queria compilar o exec do Windows. no Linux.
Vijay Kumar Kanta

36

Você pode obter o Visual C ++ Express Edition diretamente da Microsoft, se desejar algo direcionado ao Win32. Caso contrário, MinGW ou lcc, conforme sugerido em outro lugar.


3
O Visual Studio é ótimo, mas se eles estão usando linux / gcc em sala de aula, provavelmente não é a melhor opção.
Joel Coehoorn

1
O problema é que C e C ++ são linguagens diferentes. O código C nem sempre funciona em C ++.
tloach 22/09/08

9
Acredito que o Visual C ++ também tenha um compilador no modo C.
Alex M

4
Stroustrup esclarece aqui: public.research.att.com/~bs/bs_faq.html#C-is-subset Acho que a pior parte é a incompatibilidade sizeof () para caracteres e ints, além das palavras-chave adicionadas em C ++.
Alex M

17
Como @Richard disse nos comentários: VC ++ não possui recursos C99.
jfs

23

O CCG é onipresente. É confiável e bem compreendido por milhares de pessoas em dezenas de comunidades.

O Visual Studio é talvez o melhor IDE já desenvolvido. Tem um ótimo compilador embaixo dele. Mas é estritamente apenas para Windows.

Se você está apenas jogando, obtenha o GCC --é de graça. Se você está preocupado com vários plataformas, é o GCC. Se você está falando sério sobre o desenvolvimento do Windows, obtenha o Visual Studio.


Agora Visual Studio Codeexiste uma plataforma cruzada, com mais ou menos a mesma funcionalidade.
Dr_Zaszuś 16/05/19

19

Você sempre pode usar o gcc via cygwin.


13
Isso vincula seu aplicativo à DLL do Cygwin, o que é realmente irritante, na minha opinião.
Alex M

Eu concordo, mas se o aplicativo tiver um instalador, é possível agrupar a dll.
UnkwnTech 22/09/08

13
Use a opção --mno-cygwin ao compilar no cygwin. Isso o torna compilar binários MinGW; nenhuma DLL Cygwin necessária.
Colin

5
-mno-cygwinjá não é suportado - instalar os pacotes de cross-compilador MinGW apropriado para sua plataforma em vez
Christoph

17

Há outro compilador C gratuito para Windows: Pelles C.

Pelles C é um kit de desenvolvimento completo para Windows e Windows Mobile. Ele contém, entre outras coisas, um compilador C otimizado, um montador de macro, um vinculador, um compilador de recursos, um compilador de mensagens, um utilitário de criação e instaladores de instalação para Windows e Windows Mobile. Ele também contém um ambiente de desenvolvimento integrado (IDE) com gerenciamento de projetos, depurador, editor de código-fonte e editores de recursos para diálogos, menus, tabelas de cadeias, tabelas aceleradoras, bitmaps, ícones, cursores, cursores animados, vídeos de animação (AVIs sem som), versões e manifestos XP.

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


12

Pessoalmente, tenho estudado o uso do MinGW (o que o Bloodshed usa) com o Code Blocks IDE .

Também estou pensando em usar o compilador Digital Mars C / C ++ .

Ambos parecem ser bem vistos.


O Digital Mars C / C ++ já existe há algum tempo e se sai bem. No entanto, você encontrará problemas de vinculação para bibliotecas, pois ele usa um formato de arquivo de objeto não tão comum. Se você pode obter o código-fonte, isso não é um problema. Além disso, nunca os usei, mas existem ferramentas de conversão de formato de arquivo.
BCS

8

Você pode experimentar o Code :: Blocks , que é melhor IDE e vem com o MinGW GCC! Eu o usei e é um IDE freeware muito bom para C / C ++.


@ zeboidlund, e qual é a versão pós-winxp?
Pacerier 28/02

8

Tecnicamente, o GCC não é um compilador específico para Linux. É um compilador c / c ++ compatível com os padrões, e eu o uso para programas do Windows diariamente. Provavelmente é melhor você usá-lo até se sentir mais confortável com outra coisa.

Eu recomendo que você use a distribuição MinGW do GCC. Isso irá compilar seus programas nativamente para Windows, usando uma biblioteca padrão, etc.

Se você está procurando um IDE, tenho duas recomendações. O Visual Studio é a versão da Microsoft e, embora tenha seus problemas, é um excelente IDE para trabalhar com o código. No entanto, se você está procurando algo um pouco mais leve, o CodeBlocks também é bastante bom e tem o benefício adicional de poder usar basicamente qualquer compilador instalado (incluindo várias formas de GCC e o Microsoft Compiler que acompanha o Visual Studio) e poder abrir arquivos de projeto para outros IDEs. Além disso, ele roda em linux também, para que você possa facilitar ainda mais essa transição.

Pessoalmente, prefiro o GCC, mas sou apenas eu. Se você realmente deseja a solução Microsoft, o VS é o caminho a seguir.


7

MinGW seria uma tradução direta do gcc para windows, ou você pode conferir o LCC , vanilla c (mais ou menos) com um IDE. O Pelles C parece se basear no lcc e tem um IDE um pouco melhor, embora eu não o tenha usado pessoalmente. Claro que sempre existe a Express Edition da MSVC, que é gratuita, mas essa é sua decisão.


6

A maioria das universidades dá acesso ao Microsoft Dreamspark .

Se você estiver usando o GCC / Linux em sala de aula, basta instalar o Ubuntu . O Windows é uma plataforma terrível para o desenvolvimento em C.


16
O Windows é uma plataforma terrível para todo o desenvolvimento. Corrigido isso para você.
notbad.jpeg

4
É a melhor opção para o Visual Basic, você não pode negar isso!
Rlms

1
@sweeneyrod: Para ser justo, usar o VB para desenvolver aplicativos para o Wine seria muito bom.
precisa saber é o seguinte

O problema de algo acessado pela universidade é que, após o término da aula, você não tem como colocar em prática as habilidades que tanto trabalhou para adquirir.
Richard1941 01/01/19

@ richard1941: Não é intenção da universidade aplicar à indústria exatamente as tecnologias que você aprendeu em sala de aula.
Matt Joiner

5

Tenha cuidado ao usar um compilador C, não C ++, se você estiver realmente executando o C. Embora a maioria dos programas em C funcione usando um compilador C ++, existem diferenças suficientes que podem causar problemas. Eu concordo com as pessoas que sugerem o uso do gcc via cygwin.

EDITAR:
http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B mostra algumas das principais diferenças


Você pode elaborar detalhes sobre "diferenças suficientes"?
Mark


2
Qualquer compilador C ++ também compila C - geralmente o modo compilador será selecionado automaticamente com base na extensão do nome do arquivo, mas todo compilador também tem uma opção para forçar o modo C ou C ++, independentemente do nome do arquivo.
Michael Burr



3

Estou atrasado para esta festa, mas, para qualquer futuro pessoal C no Windows, o Visual Studio tem como alvo o C90 em vez do C99, que é o que você obteria no * nix. Atualmente, estou direcionando o C99 no Windows usando o Sublime Text 2 em conjunto com o Cygwin.



1

Houve alguns comentários apontando que C não é C ++. Embora isso seja verdade, também é verdade que qualquer compilador C ++ também compilará C - geralmente o modo compilador será selecionado automaticamente com base na extensão do nome do arquivo, mas todo compilador também tem uma opção para forçar o modo C ou C ++, independentemente do nome do arquivo.

Portanto, escolha o compilador C ++ gratuito que mais lhe agrada: gcc, VC ++ Express, Digital Mars, qualquer que seja. Use o IDE que você mais gosta emacs, vim, VC ++ Express, Code :: Blocks, Bloodshed - novamente o que for.

Qualquer uma dessas ferramentas será mais do que adequada para o aprendizado. Pessoalmente, como você está perguntando sobre o Windows, eu escolheria o VC ++ Express - é um ótimo IDE, é gratuito e compila perfeitamente os programas em C.


1
Falando por experiência própria: VC é um compilador C horrível. Tudo o que existe de moderno ficou para trás no VC. Para C ++ é ótimo ... para C, é horrível.
Zeboidlund

0

O Visual C ++ Express é um IDE fino e gratuito para Windows, fornecido com um compilador.

Se você estiver mais à vontade com as soluções de linha de comando em geral e o gcc em particular, o MinGW ou o Cygwin podem estar mais à sua disposição. Eles também são gratuitos.


0

Tudo se resume ao que você está usando na aula.

Se os laboratórios e as atribuições estiverem no linux, você provavelmente desejará uma solução MinGW. Se estiverem no Windows, obtenha o Visual Studio Express.


0

Você não consegue obter uma versão gratuita do Visual Studio Student Addition da sua escola? A maioria das universidades possui programas para oferecer software livre aos estudantes.


1
Não, ele está certo. Existe um programa especial chamado "Dream Spark", não que eu apóie uma coisa tão furtiva da Microsoft.
Matt Joiner

0

Você quer dizer o Dev-C ++ do Bloodshed? É um IDE visual agradável para C ++ que usa o gcc do MinGW para Windows como o compilador de bastidores. O projeto foi abandonado por um tempo (na minha opinião, usar o Delphi para desenvolver um IDE C ++ é uma coisa muito estúpida para chamar a atenção dos desenvolvedores), mas não há nada que o impeça de usá-lo e atualize a versão do gcc do MinGW. usa para o mais recente - além de ter licença GPL.


0

Eu uso o DEV C ++, CygWin ou Visual C ++ Express do BloodShed. Todos são gratuitos e funcionam bem. Descobri que, para mim, o DEV C ++ funcionava melhor e era o menos peculiar. Cada compilador tem suas próprias peculiaridades e diferenças, você precisa experimentar algumas e encontrar aquela com a qual se sinta mais confortável. Também gostei do fato de que o DEV C ++ me permitiu alterar as fontes usadas no editor. Eu gosto das fontes de programação Proggy!


-1

Os compiladores do Windows C ++ devem funcionar.

Além disso, confira MinGW .


6
C! = C ++. Existem diferenças que nem todo código C será compilado em C ++.
tloach 22/09/08
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.