【问题标题】:what is a good c compiler什么是好的c编译器
【发布时间】:2009-02-24 09:48:47
【问题描述】:

我正在使用 windows xp 什么是好的 c 编译器? 我想学习c,以便更好地理解iphone的objective-c语言。 我在 php 方面有很好的背景,所以希望有些东西会有意义

ps:

在学习 c 为 Objective-c 做准备时,我应该更加关注哪些部分?

谢谢

复制:

【问题讨论】:

标签: iphone c objective-c windows compiler-construction


【解决方案1】:

GCC 是一个免费、开源、高质量的编译器。您可以通过cygwin 获得它。

Microsoft 制作了一个 C 编译器,它随 Visual Studio 一起提供,这是 Microsoft 的集成开发环境。你可以下载Visual C++的"Express" edition试试看。

另外,Intel 是一个很好的编译器。

【讨论】:

  • 微软的 c 编译器不是 c 编译器。他们甚至不假装想要实现 c99。它是一个 c++ 编译器。
  • 而且,GCC 是您最终将用于 iPhone 开发的工具。
  • 微软的 c 编译器如果你将你的代码编译为 C 的 C 编译器 - 但它充其量是 C89,而不是 C99。
  • 微软的 C 是一个 ANSI-C 编译器。
【解决方案2】:

iphone 使用 gcc 编译器。这适用于使用 MinGW/MSYS 或其他兼容包的 Windows。

Apple 有Objective-C tutorials 假设很少有 C 经验;我很想潜入水中。如果您遇到困难,请获取K&R。 (不知道php有没有类型和指针,不然马上就卡住了)

【讨论】:

    【解决方案3】:

    Visual C++ express 是免费的,有一个非常好的 IDE 并编译 C 代码。

    【讨论】:

    • 这个问题并没有说明他正在寻找一个 Objective C 编译器。他正在寻找一个 C 编译器来更好地理解 Objective C。
    【解决方案4】:

    我会通过下载 cygwin 来使用 gcc。

    【讨论】:

      【解决方案5】:

      gcc 是方式,你可以安装 mingw 这是一个原生的 windows 端口。

      【讨论】:

        【解决方案6】:

        我也推荐 gcc,但如果你想编写可移植的代码,不要太习惯 GNU 扩展,例如 asprintf()。在某些系统上,缺少 strdup() 等等。编译器本身不会破坏你,但 glibc 会。

        一方面你有 POSIX,另一方面你有 ISO/c89/c99,然后你有 gcc。

        我强烈推荐 gcc,在您继续探索其他编译器时,请牢记上述警告。例如,如果您喜欢涉足 C++,围绕 Lestes 的限制编写代码会很有趣。

        无论如何,gcc 非常强大,拥有出色的优化功能,并且可以非常迂腐,以至于您认为它可以让您受益。但是,不要忘记可移植代码.. 或者在哪里/如果可移植性组合实际上是合适的。

        也强烈推荐 Cygwin,正如 DasBoot 所发布的那样。

        【讨论】:

        • 很少有平台没有 strcpy(),即使对于那些平台,它也可以由 strlen()、malloc() 和 strcpy() 构建。跨度>
        • 并且您想停止编写使用它的东西以便自己实现它,因为...?
        • 想多了,我花了太多时间在没有现代 C 库的操作系统上工作.. 我可能过度防御了。
        【解决方案7】:

        您可以看看这本免费的电子书 Programming in C in 7 days 作为入门,他们在 Windows 中使用 Dev-CPP

        注意

        它仅包括更完整的电子书“快速”的前 7 课 学习 C 编程”

        【讨论】:

        • @chburd 你是在开玩笑吧? DevCPP 是有史以来最糟糕的想法之一。
        【解决方案8】:

        通常我会推荐 Pelles C 在 Windows 中编程 C。这是一个很好的用户友好的编程环境,具有我所见过的最好的 c99 合规性……但是,在这里我要告诉你,你应该立即使用 gcc,而不是在 Windows 上。使用 Linux(也许是 Ubuntu?)。

        我说在 Linux 上使用 gcc 的原因是因为你想为 iphone 开发。我建议您熟悉您可能使用的工具。我不认为你使用官方的 iphone sdk(你需要一台 Mac)所以我想你会使用free tool chain。它无法在 Windows 上编译,因此请切换到 supported platform 并熟悉这些工具。

        【讨论】:

          【解决方案9】:

          我个人推荐 MinGW。您可以从 SourceForge 下载它。它甚至适用于 64 位配置。我认为它不支持目标 C。但是,我发现它在 Windows 上运行 C 代码时很有用。

          我不知道目标 C 以及在学习时需要关注 C 的哪些部分以便于过渡。我会把它留给更有经验的人。

          【讨论】:

            【解决方案10】:

            如果您想在 Window XP 平台上学习 C,那么cygwin 中包含的 gcc 是完美的首选。 cygwin/gcc 包含一个基本的 Objective-C 环境。

            无论如何,如果你想以 iPhone 为目标,最好的办法是切换到 Mac 平台(可以原生运行 XP 以平滑切换)以获得 Xcode、Mac 和 iPhone 开发环境。您还可以学习 CocoaTouch,即 iPhone 操作系统。

            同时,您可以注册iPhone Dev Center 以访问所有学习 iPhone 编程的资源。

            【讨论】:

              【解决方案11】:

              如果您正在寻找一个可以同时编译 C 和 Objective-C 的编译器,那么将 GCC 移植到 Windows 可能是您的最佳选择。

              【讨论】:

                【解决方案12】:

                在学习 C 时,专注于指针、数组、字符串和内存管理——这些东西会让你从任何类型的托管环境中绊倒。

                【讨论】:

                  【解决方案13】:

                  gcc 最好的地方在于它有很多特性并且支持最新的语言标准。但是对于快速编译和良好的编程环境,您无法击败Lcc-Win32

                  【讨论】:

                    【解决方案14】:

                    GCC 是最便宜的编译器,Intel 最快,MSVC 功能最多。

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2011-05-04
                      • 2015-08-21
                      • 2010-09-14
                      相关资源
                      最近更新 更多