是否有任何库允许使用C ++类创建Carbon应用程序?
答案 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。原因很多:
Apple有效地停止向Carbon框架的GUI部分添加功能。它没有64位等等。
如果您已经了解C ++并因此掌握了指针等知识,那么学习Objective-C非常容易。这需要一天,就是这样。有关Objective-C和C ++的比较,请参阅P. Chatelier的这个很好地总结的document。对于那些已经了解C ++的人来说,这确实非常好。
无论如何,真正困难的部分是习惯于框架本身,无论是Carbon还是Cocoa,它在很大程度上独立于语言。不幸的是,Carbon上的资源在'Net上非常微薄,而且它们也相当过时了。 (我所知道的唯一的事情是CarbonDev和值得尊敬的Macintosh C Carbon。)Apple在转换到OS X之后为Carbon做了许多不错的补充,但除了Apple自己的简洁文档之外,它们的信息非常少。只需比较标记为carbon
和cocoa
的问题数量。你有更多关于Cocoa的信息。