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.

mario64
fonte
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 .

Ben Hoffstein
fonte
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.

Alex M
fonte
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.

Kevin Little
fonte
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.

UnkwnTech
fonte
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/

Hideo
fonte
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.

Philip Tinney
fonte
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 ++.

yogeesh
fonte
@ 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.

Nicholas Flynt
fonte
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.

mjard
fonte
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.

Matt Joiner
fonte
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

abordagem
fonte
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

O GCC funciona bem. Observe que o MSVC não é necessariamente uma solução válida porque não suporta C99.

Dark Shikari
fonte
6
-1, o GCC também não suporta C99.
Bastien Léonard
4
Não é tão ruim: gcc.gnu.org/c99status.html
aib
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.

John Ruiz
fonte
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.

Michael Burr
fonte
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.

Hank
fonte
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.

Joel Coehoorn
fonte
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.

Charles Graham
fonte
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.

Joe Pineda
fonte
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!

Michael Brown
fonte
-1

Os compiladores do Windows C ++ devem funcionar.

Além disso, confira MinGW .

nsanders
fonte
6
C! = C ++. Existem diferenças que nem todo código C será compilado em C ++.
tloach 22/09/08