如果是的話應該如何準備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