2011-12-21 28 views

回答

3

是的,我们有这种方式建立的运输应用程序。我们有一个OS层(Mac上的Obj-C,Windows上的C++,C++/CLI和C#组合)以及共享的便携式图层。

一个主要问题是要在类定义中遵守规范,以便在可移植/共享代码中不使用操作系统明细(例如Obj-C或C++/CLI语法)。

您可以创建库来隔离代码,但我们不需要那样做。

+0

我知道在Windows中,您可以通过DLL使用C++代码,但是如何你是否将C++层导入到你的Objective-C代码中? – Roman 2011-12-21 02:19:37

+0

我们有一个简单包含两组文件的XCode项目。我们按文件夹进行整理,但都包含在输出应用程序中。我们为几组C++文件提供静态库,这些文件也简单地链接到主项目中。 – jschroedl 2011-12-21 04:27:57

3

是的,这绝对有可能。这并不罕见。例如,大多数WebKit都是C++代码。您可以使用Objective-C++桥接C++和Objective-C代码。

+0

可以将C++代码以dll在Windows上工作的方式制作成库,并将库导入到xcode项目中? – Roman 2011-12-21 02:12:18

+0

@阿曼:是的。这很常见。 – 2011-12-21 02:48:18

2

是的,这是可能的,真的很有用。有时候最好将应用程序分成两部分:Objective-C GUI应用程序和带有业务逻辑的C/C++守护程序。它简化了跨平台的应用程序开发过程。

+1

两者可以一起启动和停止,还是守护程序必须在后台连续运行? – Roman 2011-12-21 02:16:01

+0

您可以使用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

相关问题