2010-12-20 4 views
3

Objective-C 프로젝트 중 많은 부분이 C 함수를 많이 사용하는 파일 중 일부를 프로젝트에 넣었습니다. .m 대신 .c 파일에 코드를 저장하십시오. 나는 .m이 Objective-C이고 .c은 C를위한 것이지만 .c을 사용하면 어떤 이점이 있습니까? .m 할 수있을 때 있습니까? 성과가 증가하거나 합병증이 있습니까? GCC 또는 clang이 각각 다른 코드를 컴파일할까요?.c 파일이 필요합니까?

답변

6

주된 이점은 .c 파일을 정상적인 C 프로그램에서 그대로 사용할 수 있으며 호환되지 않는 Objective-C 구문을 우연히 통합하지 않는다는 것입니다.

+0

두 컴파일 사이에 많은 차이가 있습니까? –

+1

@Justin Meiners : 아니요. 나는 Objective-C 또는 C99로 컴파일하는 것 사이에 많은 차이점을 발견하거나 들어 본 적이 없다. AFAIK, GCC와 Clang의 Objective-C 컴파일러는 Objective-C 프로그램의 일반 C 부분을 일반 C 프로그램과 동일한 방식으로 컴파일합니다. Objective-C++에서도 마찬가지입니다.이 컴파일러는 다소 다르며 Objective-C 또는 C++ 단독 컴파일보다 시간이 오래 걸립니다. – Chuck

2

예, Xcode는 'C'컴파일러로 .c 파일을 컴파일하고 'Objective-C'컴파일러로 .m 파일을 컴파일합니다. 다른 언어 옵션을 사용하는 것과 동일한 컴파일러 바이너리입니다. 그렇기 때문에 상대적인 성과가 너무 다를 것으로 기대하지는 않습니다.

+0

그래서 당신은 그들 사이에 많은 차이를 기대하지 않겠습니까? –

+0

나는 많은 차이를 기대하지 않을 것이다. – ldav1s

0

다른 모든 것 외에도 .c는 크로스 플랫폼 개발에 유용합니다. 하나의 플랫폼에서 다른 플랫폼으로 이식하는 오버 헤드는 매우 낮거나 거의 무시할 정도입니다. . 그리고 대부분 애플리케이션의 백엔드 또는 모델은 성능이 요구되며 기계와 직접 상호 작용이 필요한 "C"를 사용하여 개발됩니다. 하드웨어 및 물건과의 상호 작용 등.

+0

Im 프로젝트의 대부분이 objective-c 일 때 C 코드를 .m 파일에 두지 말라는 것에 대해 묻지 않습니다. –

관련 문제