Obj-C 오늘의 성과

1. #include 문을 그대로 쓸 수 있다.

2. MinGW에서는 m확장자만, cygwin에서는 m, mm확장자를 쓸 수 있다.(이후 Cygwin으로 설명한다.)

3. m확장자는 완전한 Obj-C문법을 요구한다.(C++형 class사용불가. Obj-C형으로 선언해야 하는 듯,,)

4. g++ ??.m(Obj-C문법) ??.mm(Obj-C, C++문법) ??.cpp(C++문법)사용가능

ex)

1) g++ -o test mm.mm cpp.cpp   (O)

2) g++ -c mm.mm cpp.cpp

    g++ -c m.m

    g++ -o test m.o cpp.o mm.o (O)

3) g++ -o test m.m mm.mm (O)

(각 m.m은 obj-c로 mm.mm은 obj-c와 cpp로 cpp.cpp는 cpp로 작성

단 m.m에서 cpp의 클래스 호출불가(헤더 삽입이 안됨))

 

뭐 이 정도인 것 같다. Obj-C가 흥미롭긴 하지만, 귀찮으면 전부 C++로 짠 다음 확장자만 mm으로 붙여도 될 듯 하다..

 

P.S. 참고할 점은 Obj-C에서 클래스의 메소드를 호출할 때는 [class method]식으로 하는 듯 한데, C++스타일의 클래스는 그냥 class.method()형식으로 불러야 한다.(C++은 C++, Obj-C는 Obj-C로 다뤄야 하는 듯,, 대략 소스도 첨부한다.

댓글 남기기