본문 바로가기
컴퓨터/OSX

[Objective-C] 프로그램 컴파일과 실행하기

by 신규하 2008. 10. 16.

[Objective-C] 프로그램 컴파일과 실행하기

Mac OS X에서 프로그램 컴파일 해서 실행하러면 2가지 방법이 있다. 첫번째는 터미널 윈도우에서 GNU Objective-C 컴파일을 사용하는 방법과, Xcode를 사용하는 방법있다.

1. 터미널 윈도우에서 프로그램 컴파일

처음으로는 터미널 윈도우를 실행해야 한다. 터미널 어플리케이션은 이동>유틸리티 에 있다. 아이콘은 아래와 같다.

사용자 삽입 이미지
먼저 디렉토리를 만들고 제작해 보자. 터미널에서 편집하기 위해서는 vi나 emacs를 사용한다.

사용자 삽입 이미지

$뒤에 아래와 같이 입력하면 된다.

~$ mkdir first                               //-> 프로그램 만들 디렉토리 생성
~$ cd first                                   //-> 새로 만들 디렉토리로 이동
~$ vi main.m                              //-> 텍스트 에디터 실행.

Objective-C 파일은 아무 파일명이나 써 주면 된다. 다만 뒤에 .m 확장자만 만들어 주면 된다. 일반적으로 사용되는 접미사는 아래와 같다.

파일 접미사(확장자)

Extension Meaning
.c C언어 소스 파일
.cc, .cpp C++언어 소스 파일
.h 헤더 파일
.m Objective-C 소스 파일
.mm Objective-C++ 소스 파일
.pl 펄(Perl) 소스 파일
.o 오브젝트(컴파일된) 파일

소스 편집기를 사용해서 아래와 같이 입력을 해 준다.

위와 같은 소스는 gcc라 불리는 GNU Objective-C 컴파일러를 통해서 컴파일하게 된다.

gcc 소스파일 -o 프로그램명 -l objc

여기서 '소스파일'은 컴파일될 파일의 목록이고 '프로그램명'은 컴파일 되고 나서 생성될 실행파일의 이름이다.

-l objc

위는 Objective-C 런타일 라이브러리를 불러서 링크를 시킨다. 이 옵션은 꼭 매 라인의 끝에 넣줘야 한다.

프로그램을 컴파일 해서 helloWorld라는 프로그램을 만들려면, 아래와 같이 한다.

~$ gcc main.m -o helloWorld -l objc

별 에러가 없으면 바로 떨어 에러 메시지 없이 다음 라인으로 넘어 간다. 실행을 하려면 아래와 같이 하면 된다.

~$ ./helloWorld
Hello world.
~$

실행을 하면 아래와 같이 Hello world가 출력되고 끝난다. ./를 앞에 붙여주는 이유는 현재의 경로에 있는 파일을 실행 한다는 의미에서 이다. ./를 붙여 주지 않는다면 실행이 파일을 찾지 못하겠다고하면서 실행이 되지 않는다. ./없이 실행을 하면서 시스템의 PATH 변수에 현재 경로를 추가 하면 ./없이도 실행이 가능 하다.


2. Xcode를 사용해서 컴파일하고 실행하기

Xcode는 쉽게 편집하고 컴파일, 디버깅 할 수 있는 정교한 응용프로그램이다.맥에서 프로그램을 개발 하겠다면 이 응용 프로그램 사용하는 것을 추천한다.

여기서 설명하는 Xcode는 3.1최신으로 설치해서 3.0과는 조금 다를수 있다.

최신 버전은 아래 주소에서 받을 수 있다.

그럼, 먼저 xcode 어플리케이션을 실행한다.

사용자 삽입 이미지
New project에서 Cocoa Application을 선택한다.

사용자 삽입 이미지
사용자 삽입 이미지

새로운 프로그램을 만들 경로를 만들고 프로젝트 이름을 정한다.

사용자 삽입 이미지

main.m파일을 열고 편집한다.

사용자 삽입 이미지

아래와 같이 있던 소스가 있습니다.


위의 기본으로 생성된 코드를 사용하지 않고 아래와 같이 수정한다.

편집을 마치고 run에서 Console을 실행한다.

사용자 삽입 이미지

Build and go

사용자 삽입 이미지
을 누르고 실행을 확인한다.

사용자 삽입 이미지

댓글