2014-09-15 2 views
0

Objective-C 및 OS X 개발을 처음 접했습니다. 나는 일하려고 노력하는 어떤 코드에서 이것을 본다 :TARGET_API_MAC_CARBON이 무엇인가요?

#include <Carbon/Carbon.h> 

#if ! TARGET_API_MAC_CARBON 

#include <OSA.h> 
#include <AppleScript.h> 
#include <Gestalt.h> 

#endif 

#include <string.h> 

TARGET_API_MAC_CARBON은 언제 정의 되었는가? Wikipedia에 따르면 탄소는 오래된 API입니다. 나는 "TARGET_API_MAC_COCOA"또는 무엇이든을 보지 않는다. Mac OS X 10.9에서 작동하는 코드 만 있으면됩니다.

답변

1

Carbon 프레임 워크를 링크하는 경우 (거의 확실하지 않음) Carbon을 정의해야합니다. "Classic MacOS"(즉, MacOS 7, 8, 9)와 현재 MacOS 10.X 릴리스 사이에서 MacOS 응용 프로그램을 연결하는 데 사용 된 기존 기술입니다.

그렇다면 링크하려는 코드가 궁금합니다. 몇 초입니까? Gestalt, for example, is pretty fully deprecated at this point.

+0

은 너무 오래되어 보이지 않습니다. https://github.com/reinerp/haskell-AppleScript/tree/master/cbits –

+0

어쩌면 새로운 질문을해야하지만, 저에게 새로운 질문을해야 할 수도 있습니다. 일부 C 코드가 AppleScript를 호출하고 결과를 처리하는 hello world 프로그램? –

+1

Cocoa에는 [편리한 "NSApplescript"클래스] (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSAppleScript_Class/Reference/Reference.html)가 있지만 원하는 경우 순수 C에서 Applescript를하려면 쉘의 [ "osascript'"도구] (https://developer.apple.com/library/)를 사용하여 C 코드에서 "system"을 호출해야 할 것입니다. mac/documentation/Darwin/Reference/ManPages/man1/osascript.1.html) (다른 말로하면, 코드는 매우 멋지거나 우아하지 않을 것입니다). –

관련 문제