是否有允许使用C ++类对Carbon应用程序进行编程的库/框架?

时间:2010-07-08 12:55:30

标签: objective-c macos-carbon osx-snow-leopard

是否有任何库允许使用C ++类创建Carbon应用程序?

1 个答案:

答案 0 :(得分:5)

曾经有一个名为PowerPlant的C ++框架,与Metrowerks捆绑在一起。它现在是开源的:Open PowerPlant。啊,那些日子......

还有一种名为MacApp的东西,最初由Apple自己维护。但它在向OS X过渡期间被抛弃了。一些核心支持者似乎维持了一个分支,显然是:ClubMacApp

您可以使用Qt这是一个值得尊敬的跨平台C ++ GUI库。它建立在Carbon之上,但它现在位于Cocoa之上。

wxWidgets也是一个跨平台的C ++ GUI库。它再次从基于碳的转变为基于可可的。

Carbon本身,因为OS X 10.2 Tiger,有一个名为HIToolbox的对象系统,由C接口公开,请参阅Apple's guide,但它是为那些了解旧版经典工具箱的人编写的。它周围有一个C ++框架,包含在Apple的示例代码中,名为HIFramework

也就是说,强烈建议学习Objective-C并使用Cocoa。原因很多:

  1. Apple有效地停止向Carbon框架的GUI部分添加功能。它没有64位等等。

  2. 如果您已经了解C ++并因此掌握了指针等知识,那么学习Objective-C非常容易。这需要一天,就是这样。有关Objective-C和C ++的比较,请参阅P. Chatelier的这个很好地总结的document。对于那些已经了解C ++的人来说,这确实非常好。

  3. 无论如何,真正困难的部分是习惯于框架本身,无论是Carbon还是Cocoa,它在很大程度上独立于语言。不幸的是,Carbon上的资源在'Net上非常微薄,而且它们也相当过时了。 (我所知道的唯一的事情是CarbonDev和值得尊敬的Macintosh C Carbon。)Apple在转换到OS X之后为Carbon做了许多不错的补充,但除了Apple自己的简洁文档之外,它们的信息非常少。只需比较标记为carboncocoa的问题数量。你有更多关于Cocoa的信息。