如果是的话应该如何准备C++代码,以便在Obj-C代码中轻松使用?是否可以使用C++编写应用程序的核心,并使用Obj-C和Cocoa作为UI?
如果您选择不使用GTK或Qt,这也是创建跨平台应用程序的有效方法吗?
如果是的话应该如何准备C++代码,以便在Obj-C代码中轻松使用?是否可以使用C++编写应用程序的核心,并使用Obj-C和Cocoa作为UI?
如果您选择不使用GTK或Qt,这也是创建跨平台应用程序的有效方法吗?
是的,我们有这种方式建立的运输应用程序。我们有一个OS层(Mac上的Obj-C,Windows上的C++,C++/CLI和C#组合)以及共享的便携式图层。
一个主要问题是要在类定义中遵守规范,以便在可移植/共享代码中不使用操作系统明细(例如Obj-C或C++/CLI语法)。
您可以创建库来隔离代码,但我们不需要那样做。
是的,这绝对有可能。这并不罕见。例如,大多数WebKit都是C++代码。您可以使用Objective-C++桥接C++和Objective-C代码。
可以将C++代码以dll在Windows上工作的方式制作成库,并将库导入到xcode项目中? – Roman 2011-12-21 02:12:18
@阿曼:是的。这很常见。 – 2011-12-21 02:48:18
是的,这是可能的,真的很有用。有时候最好将应用程序分成两部分:Objective-C GUI应用程序和带有业务逻辑的C/C++守护程序。它简化了跨平台的应用程序开发过程。
两者可以一起启动和停止,还是守护程序必须在后台连续运行? – Roman 2011-12-21 02:16:01
您可以使用launchctl来管理守护程序活动,如启动,重新启动,终止等。 http://developer.apple.com/library/mac/#documentation/Darwin/Reference/Manpages/man1/launchctl。 1.html http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html – 2011-12-21 03:46:43
[这里](http://stackoverflow.com/questions/525609/use-c-with-cocoa-instead-of-objective-c)是一个很好的回答你的问题。 – dasblinkenlight 2011-12-21 02:11:53