2010-09-23 77 views
1

我正在做iPhone開發的第一步。我想使用一些c \ C++代碼,但我找不到任何它如何做的參考(如果你可以在給你一個answear時也可以引用我的源代碼,那麼我會找到任何參考)如何在xCode中爲您的iPhone應用程序編譯C++?

我有一個名爲calc .h包含一個帶有簡單添加和多功能的「計算器」類,我完全按照我對Objective-C頭文件進行導入。我現在想要做什麼?

回答

0

不管你在C/C++中進行編碼時你正在做什麼。

例如:

#include "calc.h" 
.... 
-(void) testCode { //obj-c 
float x = 3; 
float y = 8.0; 
float sumOfTwo = sum(x, y); 
} 

假設你在上面使用的一個類似頭文件中有一個名爲SUM函數。

+0

我完全用目標c頭文件。不同之處在於我在C++文件中有一個類。我如何解決課堂中的一個功能? 將appriciate如果你也可以引用我的來源,我可以讀這個。 – AYBABTU 2010-09-23 15:35:01

+1

1.將.m文件重命名爲.mm 2.創建一個類類型的對象,就像在C++中一樣。 3.調用該對象的方法。再次,沒有什麼特別的,除了文件名。 http://www.macresearch.org/objective_c_for_objective_c_programmers和http://gavmacprogramming.wordpress.com/2007/04/26/c-for-objc-programmers-part-i/ – Alin 2010-09-23 15:47:34

0

如果您使用源文件的標準擴展名(例如.cpp/.c),您可以簡單地構建它們而不做任何特殊處理。
如果使用不常見的擴展,你需要手動設置文件類型:在文件獲取信息設置文件類型sourcecode.cpp.cpp/sourcecode.c.c

但是請注意,您不能在普通Objective-C(.m)文件中使用C++ - 如果您想這樣做,則需要使用Objective-C++.mm)。
對於使用C,沒有像Objective-C是C的超集那樣的限制 - 與C++一樣,您可能需要留意使用Objective-C中的關鍵字標識符。

+0

你能否引薦我一個來源來討論這個問題問題? – AYBABTU 2010-09-23 15:38:25

+0

@Gal:在我的答案中有一個鏈接到Apple Objective-C++討論。有關相關問題,請參閱[這裏](http://robnapier.net/blog/wrapping-c-take-2-1-486),[here](http://stackoverflow.com/questions/1885586/language-mixing -model-and-view/1885649),[here](http://stackoverflow.com/questions/2226912/can-i-separate-c-main-function-and-classes-from-objective-c-and- or-c-routines-a/2227013),[here](http://stackoverflow.com/questions/2746215/c-reference-type-as-instance-variable-in-objective-c/2746250),.. – 2010-09-23 15:44:46

+0

或者您是否有特定的問題? – 2010-09-23 15:47:26