【问题标题】:c++ development on Mac [closed]Mac上的c ++开发[关闭]
【发布时间】:2011-01-22 01:46:46
【问题描述】:

到目前为止,我主要专注于 Web 编程,现在想进入应用程序编程领域。我使用的是 Mac,想知道人们通常在 C++ 开发中使用什么样的编译器、IDE 等。

非常n00b 另一件让我非常困扰的事情是 c++ 编译器通常会输出 .exe ,这不能在 Mac 上使用。我需要了解基本的 OOP 编程基础,并认为 c++ 将是最佳选择。请提出一些建议。

【问题讨论】:

标签: c++ macos oop programming-languages


【解决方案1】:

您还可以使用 QT Creator,这是一个非常好的 IDE :)

【讨论】:

  • Qt 是一个价格过高的系统,对于单个独立开发人员可以负担得起的东西有最荒谬的想法。它只对免费项目有好处,除非你有钱可烧。订阅模式从一开始就有毒。子结束,你甚至不能重建你的应用程序来修复错误。 qt的人都疯了。我犯过的最大错误是使用 Qt 进行开发。
  • @fyngyrz 您似乎对 QT 许可系统有一些误解。如果动态链接,QT 甚至可以在商业上免费使用
  • @icefire 这一点我都不清楚,而且我已经阅读了许可条款。你能为此引用一个明确的参考吗?
  • @fyngyrz 谷歌一下,你会发现很多线程,如stackoverflow.com/questions/11994053/…qtcentre.org/threads/… 或其他
  • @icefyre 问题是:作为一名非律师,现在是一个很小的开发人员,我不能将商业案例建立在随机人们的解释之上,聘请律师。 QT 的实际许可材料似乎很清楚,如果您有钱,他们想要很多钱,并且他们不会让您更新此类代码而无需连续付款,但对免费 软件。似乎......不太可能......对我来说,他们想要很多钱,但愿意得到 0 美元,这仅取决于您如何链接代码。除了非 QT 的人,我没有发现任何地方都清楚地说明了这一点。
【解决方案2】:

如果您打算为 MAC 构建应用程序,那么最好的方法是学习“Objective C”并在 MAC 上使用 Xcode 编辑器。从长远来看,这也会对您有所帮助。 Xcode 还允许您使用 C/C++ 和 java 以及目标 C 来构建应用程序。

访问此 URL http://developer.apple.com/mac/ 是一个很好的开始方式,它也有帮助。

【讨论】:

    【解决方案3】:

    在某个操作系统 (OS) 上编译 C++ 将为该操作系统创建一个可执行文件。您不仅限于 .exe 二进制文件。

    开始创建您的第一个 C++ 应用程序的第一步是安装Xcode。 Mac OS X 默认不安装此开发程序。您必须插入计算机随附的 DVD 之一并安装它。之后,启动 Xcode 并点击 File,然后点击 New Project。完成后,选择 命令行工具 并确保 C++ stdc++ 是所选类型。在我忘记写这个之前,Xcode 的 C++ 编译器是gcc。如果您需要一些帮助才能开始,您总是访问一些 sites 或购买(或租用)一些 books

    需要注意的是,Apple 的主要编程语言是 Objective-C,它不同于 C/C++。虽然这两种语言都有共同的特点,但从 Objective-C 开始可能更容易。可以做一些OOP with Objective-C,这样会更容易。另一方面,可以做more complex OOP with C++ than with Objective-C

    如果您想学习 Cocoa 框架的基础知识(这是一组帮助您创建窗口的库和工具),我建议您学习如何编程(一些 Objective-C 或 C++ 可能会很好)并从 Aaron Hillegass 购买本书 Cocoa Programming for Mac OS X

    【讨论】:

      【解决方案4】:

      c++ 编译器将输出目标代码,该目标代码应该是编译器所针对的平台的本机代码。所以在 Mac 上,它会输出在 Mac 上运行的可执行程序,而不是 Windows 可执行文件。

      XCode 是一款广受好评的 mac IDE,可用于 C++ 开发。

      Java 可能是 OOP 的一个更简单的选择,因为它避免了许多可能会吸引新手的陷阱。另一个 OOP 替代方案是 Objective-C,它是 mac 开发的不错选择。

      【讨论】:

      • -1:在 Mac OS 环境中做 Objective-C 比 Java 更容易,如果 OP 以后想学习 C++。
      【解决方案5】:

      如果您的问题真的是:我可以使用 C++ 开发 Mac 应用程序,那么答案是肯定的,但对于真正的原生 Mac 应用程序,您可能希望投资学习 Objective-C 和 Cocoa 框架。

      【讨论】:

      • Mac OS X 也有不少基于 C++ 的框架。例如 I/O 套件。
      • I/O Kit 使用“嵌入式 C++”,它确实不是一个框架来进行应用程序开发。
      • 使用objective-C++,你可以吃蛋糕也可以吃。 (并用它射击你自己的脚......)
      【解决方案6】:

      集成开发环境比较——C/C++ http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C.2FC.2B.2B

      我在 Mac 上使用 Code::Blocks 和 gcc 和 GNU 工具链进行嵌入式开发。

      【讨论】:

        【解决方案7】:

        C++ 不限于 .exe 文件.... 窗口 PE 文件是机器代码的一种容器格式。 C++ 二进制文件可以封装在任何你能想到的低级容器格式中。

        Mac 上的 Objective-C 可以是一门非常愉快的学习语言,Java 也是如此。你真的需要在这个路口学习C++吗? C++ 适用于低级编程问题,即视频游戏、系统软件和一般性能关键型软件(photoshop 和 imovie)。

        【讨论】:

        • 在任何其他编程语言之前学习 C++ 可以使之后更容易学习新语言。 C++ 是一种多范式语言,因此可以在一种编程语言中看到多种编程方式。
        • @partial 虽然这是一个很好的观点,但在实践中却适得其反——人们主要是为了获得解决问题的专业知识而学习一门语言,他们并不关心达到启蒙——或者也许是通过时间和经验获得启蒙——例如:为什么想开车上班的人知道如何驾驶拉力赛车? ?当然,当他们尝试在结冰的道路上行驶时,这可能会改善他们的情况....实际上,他们一年可以慢速行驶 2 天。
        • ...结冰的道路、潮湿的道路、颠簸的道路、动物过境点、其他司机等等。然而,如果我们的人在路上有拉力赛车手的经验、知识和反应能力,事故就会减少。编程也是如此。如果您花时间学习 C++,您将获得一定的思维定势,从而最终实现更好的编程。此外,您将获得某些使用更简单的编程语言通常不会有的反应。这不是一种情绪,而是一种个人经历。
        • 你真的是说C++没有给人们解决问题的专业知识吗?为什么要用 C++ 制作“视频游戏、系统软件和一般性能关键软件(photoshop 和 imovie)”?这是一门复杂的语言!所以呢?克服它!当您学习如何编程时,您首先要学习编程语言的基础知识。不是反过来。 C++让人们一步一步地学习从函数式编程到元编程,从静态内存分配到动态内存分配,从条件语句到for_each带有仿函数的循环等等。
        • 我同意部分。尽管 C/C++ 的学习曲线可能更陡峭,但经验肯定是值得的。我观察到的另一件事是,许多从“更容易编码”的语言开始的人后来不愿意学习 C++,这可能是因为他们在不关心内存管理、指针等的情况下对编码感到满意。
        【解决方案8】:

        如果您使用的是 Mac,Xcode 是最好的选择,当然还有其他原因,例如 Net BeansEclipse

        【讨论】:

          【解决方案9】:

          只需使用 xcode / gcc 在您的 Mac 上创建和编译 C++ 应用程序。本机 Mac 应用程序最常使用 Objective-C 编码,但由于 mac 是 bsd 的变体,因此使用 gcc 工具创建 c++ 可执行文件也很常见。

          编辑:澄清: - xcode 是安装盘上的免费 Mac IDE - gcc 是开源编译器。它是 Xcode 的一部分。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2010-10-26
            • 2014-08-24
            • 2010-09-15
            • 2012-06-27
            • 1970-01-01
            • 1970-01-01
            • 2010-12-06
            相关资源
            最近更新 更多