在Windows XP中编译C代码

4

我有一段C代码,它是在Windows NT上使用Microsoft Visual Studio 6.0编译的。现在我要将它迁移到一个使用Windows XP的新机器上。什么IDE适合这个任务?我认为MS Visual 6.0并没有为XP而设计… 我可以只使用Visual Studio C++来编译C代码并保持相同的功能吗?


不保证。一个9年历史的操作系统和一个13年历史的编译器的保修期已经过期了。我的车没那么旧,只是一辆老爷车。 - Hans Passant
8个回答

7

您仍然可以在Windows XP上使用Visual Studio 6。

您也可以下载Visual Studio C++ Express

另外,下载并安装MinGW也是一个选择,只要C兼容即可。


实际上并不是这样。它比微软编译器慢,几个版本落后于官方的gcc,包的设计也很混乱。没有真正的理由使用它而不是VC Express。 - SigTerm
@SigTerm:a) 最新版本为4.5.0 == 最新gcc。b)在windows下使用gcc有很多原因,特别是在谈论C(C99)时。更不用说更好的跨平台性了。我同意编译速度可能会慢一些,但我不相信生成的代码应该会更慢。 - rubenvb
@rubenvb: "最新版本是4.5.0" 安装/包设计仍然混乱。自动安装程序将安装gcc 3.4。使用Windows下的gcc有许多原因,至少列出一些。“更好的跨平台性更不用说”,Qt在多个平台上编译而不依赖单一编译器。如果代码需要相同的编译器才能有用,那么很可能是代码的问题。如果平台开发人员(微软)提供合理的开发工具,我认为没有理由使用替代品(mingw),直到它们变得更好。 - SigTerm
@SigTerm:好吧,总有mingw-w64,一个包,解压缩,设置PATH,而且谁不用TDM-gcc呢?在我看来,这不是讨论的地方,但是它的优点包括:C99,许多GPL程序不适用于MSVC,更好的标准兼容性,访问其他受限POSIX性,请参见“gcc vs msvc基准测试”的网络,生成二进制文件的性能大体相等... - rubenvb

2
从您的措辞来看,我猜测您已经拥有比VC6更晚的Visual Studio版本,因此是的 - 您应该能够打开任何项目/解决方案并继续进行,但需要注意以下几点:
  1. 确保对项目的副本执行此操作(实际上可能是整个源代码树的副本),因为VS将提示您将旧的VC6项目转换为新格式的单向转换。完成此操作后,您无法再次在VC6中打开它。
  2. 当您尝试构建项目时,您可能会遇到编译或链接错误。最可能的原因是两个版本之间使用的C ++语言或库发生了变化,但如果代码编写得合理,这不应该太难修复。

但是,正如其他人所说,是的 - VC6在XP上仍然可以正常工作。唯一的缺点是您可能无法直接访问更新的C ++语言功能或Windows SDK功能。

祝您好运!


0

0

是的,您可以使用任何已安装或将要安装在Windows XP上的Visual Studio。代码应该可以编译通过,但如果您使用了某些C函数的“不安全”版本,则可能会出现一些编译器警告。


0

0

MSVC 6在XP上运行良好。 我强烈建议安装第六个服务包。


0

MSVC++ 2008 Express可能是答案;但是这个免费版本的VC++不支持开箱即用的MFC;您可以尝试使用来自VC++ 6的MFC库使其工作(但不包括“可视化”设计工具)。它可以构建Win32 API代码,并且可以用于具有“可视化”开发功能的.NET/Windows Forms应用程序。

如果您需要MFC,则最好坚持使用适用于XP的v6.0(获取最新服务包),或者购买付费版的Visual Studio。


0

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