Windows下的C编译器?

133

我很愿意在Linux上使用gcc作为C编译器,但是我想要Windows解决方案。你有什么建议吗?我看过了Bloodshed的Dev-C++,但希望能有更多选择。


请查看于2017年推出的Windows子系统Linux。这使您能够在Windows上运行原生的Linux工具,如gcc。请参见:https://learn.microsoft.com/en-us/windows/wsl/install-win10 和 https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/。 - Evan Rosica
22个回答

83

您可以通过下载MingW (已停止更新)或其继承者Mingw-w64在Windows上使用GCC。


1
在Windows中使用MinGW不能解决处理LibVLC和Gstreamer的问题,反而会导致可执行文件崩溃。是否有更好的解决方案? - user285594
1
虽然mingw是一个很棒的项目,但当我想在Linux中编译Windows可执行文件时,它并不适合我。 - Vijay Kumar Kanta

35
你可以直接从微软获取Visual C++ Express Edition,如果你想要针对Win32的东西。否则就使用别处建议的MinGW或lcc。

3
Visual Studio 很好用,但如果他们在课堂上使用的是 Linux/gcc,它可能不是最佳选择。 - Joel Coehoorn
1
问题在于C和C ++是不同的语言。 C代码并不总是能在C ++中工作。 - tloach
9
我相信Visual C++也有一个C模式的编译器。 - Alex M
4
Stroustrup在这里澄清了:http://public.research.att.com/~bs/bs_faq.html#C-is-subset我认为最糟糕的部分是char和int的sizeof()不匹配,再加上C++中新增的关键字。 - Alex M
17
如@Richard在评论中所说:VC++缺乏C99特性。 - jfs
显示剩余3条评论

26

GCC无处不在。成千上万的人在数十个社区中信任它,并且对其非常了解。

Visual Studio可能是有史以来最好的IDE。它下面有一个很棒的编译器。但是它仅限于Windows操作系统。

如果你只是玩玩,那就用GCC--它是免费的。如果你关心多平台,那么选择GCC。如果你需要进行严肃的Windows开发,请使用Visual Studio。


现在有 Visual Studio Code,它是跨平台的,并拥有差不多相同的功能。 - Dr_Zaszuś
1
Visual Studio或许是最好的集成开发环境。我更喜欢JetBrains IDE产品(IntelliJ,PyCharm,CLion等)。 - mihca

22

还有一个适用于Windows的免费C编译器:Pelles C。

Pelles C是一个完整的Windows和Windows Mobile开发工具包。它包括优化的C编译器、宏汇编器、链接器、资源编译器、消息编译器、make工具以及Windows和Windows Mobile的安装程序生成器等内容。 它还包含集成开发环境(IDE),包括项目管理、调试器、源代码编辑器以及针对对话框、菜单、字符串表、加速表、位图、图标、光标、动画光标、动画视频(不带声音的AVI)、版本和XP清单的资源编辑器。

网址:http://www.smorgasbordet.com/pellesc/


19

你可以通过cygwin使用gcc。


14
我的意见是,这会将你的应用程序绑定到Cygwin DLL,这真的很恼人。 - Alex M
我同意,但如果应用程序有安装程序,可以将dll捆绑在一起。 - UnkwnTech
13
在Cygwin下编译时,请使用--mno-cygwin选项。这将使它编译MinGW二进制文件,无需使用Cygwin DLL。 - Paul
6
“-mno-cygwin” 不再受支持,请安装适用于您平台的MinGW交叉编译器软件包。 - Christoph

12

Digital Mars C/C++ 已经存在一段时间并且表现良好。然而,由于它使用不太常见的目标文件格式,您可能会遇到库链接问题。如果您可以获得源代码,这不是太大的问题。此外,我从未使用过它们,但有文件格式转换工具可用。 - BCS

9

GCC并不是一个专门为Linux设计的编译器。它是符合标准的C/C++编译器,我每天都在Windows程序中使用它。在您熟悉其他编译器之前,最好使用它。

我建议您使用MinGW版本的GCC。它将使用标准库等本地方式为Windows编译程序。

如果您正在寻找IDE,我有两个推荐。Visual Studio是Microsoft的版本,虽然它有一些问题,但它是一个非常好的IDE,适用于代码开发。但是,如果您需要更轻量级的东西,CodeBlocks也很好,并且可以使用安装的任何编译器(包括几种形式的GCC和随Visual Studio提供的Microsoft编译器),并且可以打开其他IDE的项目文件。此外,它也可以在Linux上运行,因此您可以更轻松地进行转换。

我个人更喜欢GCC,但这只是我的个人偏好。如果您真的想要Microsoft解决方案,则应选择VS。


8
你可以尝试使用更好的IDE并带有MinGW GCC的Code::Blocks!我已经使用过它,这是一个非常好的免费的C/C++ IDE。

@zeboidlund,那么后续的WinXP版本是什么? - Pacerier

7

MinGW是gcc在Windows系统下的直接翻译,或者你可以看看LCC,它是一个带有IDE的普通C语言编译器。 Pelles C似乎基于lcc,并且拥有更好的IDE,但我个人没有使用过。当然,还有微软的Express Edition MSVC是免费的,但这取决于你的选择。


6

大多数大学都会为你提供访问Microsoft Dreamspark的权限。

如果你在课堂上使用GCC/Linux,只需安装Ubuntu即可。Windows是进行C开发的糟糕平台。


18
Windows 平台对于所有的开发来说都是糟糕的。我已为您更正。 - notbad.jpeg
4
这是Visual Basic的最佳选择,你无法否认! - rlms
1
@sweeneyrod:公平地说,使用VB开发Wine应用程序是相当不错的。 - Matt Joiner
通过大学获取的东西的问题在于,课程结束后,你没有办法将你辛苦获得的技能应用到实践中。 - richard1941
@richard1941:在大学里学习的技术并不是要直接应用到工业中去的初衷。 - Matt Joiner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接