2012-01-06 2 views
44

저는 C++ 지식이 다소 적당하지만 Objective-C에 대해서는 아무 것도 모릅니다. Objective-C를 배우기 위해 (심지어 시작하기까지) 몇 가지 iOS와 심지어 Mac OS X 응용 프로그램을 작성하려고 할 수는 있지만 아직 찾지 못한 것에 대해 궁금합니다.iOS 및 Mac OS X 응용 프로그램에서 C++ 사용

iOS 및/또는 Mac OS X 응용 프로그램을 UI 구성 요소를 포함하여 C++로 완전히 작성할 수 있습니까? C++에서 완전히 할 수 없다면, C++을 어느 정도로 사용할 수 있습니까?

이러한 항목 중 하나를 보여주는 예제를 보지 못했습니다. 나는 iOS와 Android를위한 몇 가지 모바일 애플리케이션을 작성할 계획이며 가능하다면 최대한의 이식성을 위해 C++ 코드 안에 대부분의 논리를 포함하고 싶습니다. 나는 내가 이것을 할 수 있다는 것을 이미 알고 있지만 학위에 대해 확신 할 수 없다.

+3

중간급 C++ 개발자 인 경우 Objective-C를 배우는 것이 훨씬 쉽고 빠르다는 것을 알게 될 것입니다. Objective-C는 훨씬 간단한 언어입니다. 그런 다음 필요에 따라 혼합하십시오. –

답변

51

짧은 대답, 예.

순수한 C++의 경우 QT framework을 살펴 봐야합니다.
그렇지 않으면 UI 부분에 어려움이 있습니다.

그러나 Objective-C를 C++과 혼합 할 수 있다는 점도 기억하십시오.
그건 Objective-C++ (.mm 파일)입니다.

그런 다음 C++ 및 Objective-C 코드를 혼합 한 코드를 작성할 수 있습니다. Objective-C (UI 구성 요소의 네이티브 프레임 워크를 사용하므로 더 좋을 수도 있음) 및 C++의 다른 부분에 UI 부분을 포함 할 수 있습니다.

Objective-C를 배우기로 결심했으나 일부 ​​파트에서 C++로 코딩하려는 경우 순수 C++ 대신이 방법을 사용하는 것이 좋습니다.

iOS에서 이것은 유일한 방법입니다. C++로 코딩 할 수 있지만 UI 부분에 Objective-C를 사용해야합니다. 여기에 편집

는 ++ 오브젝티브 C로 시작하는 몇 가지 링크입니다 :

+0

고맙습니다. Objective-C++ 활용을 권장하는 기사, 서적 등이 있습니까? 알아내는 간단한 개념처럼 보이지만 한 가지 또는 다른 방식으로 너무 멀리하기를 원하지 않습니다 (근본적으로 모범 사례 또는 권장 사항을 찾으십시오). – Kris

+0

편집을 참조하십시오 ... – Macmade

+0

완벽한, 감사합니다! – Kris

2

Look this question

Mac OS에 대해서는 잘 모르겠지만 IOS 응용 프로그램에서는 C++을 논리로 사용할 수 있지만 Objective-C에 사용자 인터페이스를 작성해야합니다.

1

UI 구성 요소를 포함하여 iOS 및/또는 Mac OS X 응용 프로그램 전체를 C++로 작성할 수 있습니까? 을 C++로 할 수 없다면 어느 정도까지 가능합니까? 대부분 C++입니까?

일부 3 부 lib에 의존하려면 순수한 C++을 사용할 수 있다고 생각합니다. 그렇습니다.

세 번째 부분 lib가 없으면 objective-c를 사용하여 모든 UI를 작성해야하며 나머지는 C++를 원하는만큼 사용할 수 있습니다. 빌드 설정에 필요한

1

변경은 "애플 LLVM 컴파일러 4.2 - 언어"에서 아이폰 OS 프로젝트 에서 C++ 파일을 사용

C++ 언어 방언 옵션 : 컴파일러의 기본 C++ 표준 라이브러리 : 컴파일러의 기본

0

당신은 할 수 Cocos2d-x 엔진을 사용하고 UI (코코스는 버튼, 스크롤 뷰, 테이블 뷰 등과 같은 기본 UI 클래스를 포함하여 iOS 응용 프로그램 용으로 순수 C++을 작성합니다. 그러나 Hiberlite와 같은 다양한 C++ 라이브러리를 사용하는 고유 한 컨트롤러 및 모델을 개발해야합니다. , 또는 원시 SQLite 등)

Cocos는 iOS/MacOS (기본 응용 프로그램 실행주기와 같은 응용 프로그램 실행주기 또는 실행 루프 및 그리기주기를 설정하는 몇 가지 기본 .mm objective-c 클래스)와 자체 인터페이스가 있습니다. 따라서 C++로 사용자 코드를 작성하면됩니다

관련 문제