我是 C 新手(来自 Java,所以我不是第一次学习编程)。我正在读《C Primer Plus》这本书。我一直在四处寻找以了解在 Windows 上开发 C 程序的编译器或环境之间的差异。
我已经安装了 MinGW 和 Visual Studio 2010。我已经测试了在这两个环境中编译一个 hello world。对于 MinGW,我正在考虑 Code::Blocks 或 vim。Code::Blocks 上的多编译器支持听起来很方便,但我还没有达到这个水平,无法理解这个功能会有多大帮助。
我愿意以我应该的方式学习 C,而不是被像 Visual Studio 这样的 IDE 隐藏的工作背景所宠坏。一旦我提高了理解力,我不介意切换到更方便的环境。
我对 Visual Studio 感到不舒服的原因是它不像 gcc 那样支持标准。我已经阅读了一个论点,即 VS 在生产中被广泛使用,并且这就是它的方式。有人说只要在我不想要的地方开始写 C。我已经看到有人说体验命令提示符并查看链接是如何完成的,等等。
这是来自维基百科,但它说 Visual C++ 不应该用于编译 C。http://en.wikipedia.org/wiki/Visual_C%2B%2B#Issues
所以这里是我需要说清楚的。可能是几个街区。
我的理解是,只要我正在为 Windows 平台进行开发,Visual Studio 就适用,并且也适合那些只想开始编码的人。
如果我想采用更新的标准并使用 gcc(在 Linux 中使用),我应该选择 MinGW。MinGW 是移植到 Windows 的最小的类似 gcc 的环境,因此我可以使用与 Linux 类似的环境,这使我受益于比 VS 更好地支持的标准。此外,这应该有助于我的程序在 Linux 上更成功地编译,而不是完全用于在 Windows MinGW 上编译程序以在 Linux 上运行,对吧?
我们所说的可移植性是在每个平台上编译一个源代码,而不是在一个特定平台上编译一个程序来使用其他平台上的执行文件,对吗?