6.1.1 대상 defines(Target defines)

6.1.1 대상 defines(Target defines)

현재 대상에 따라 다음 플래그 중 적어도 하나가 정의됩니다. 이것들은 컴파일러에 출력을 지정하기 위해 제공되는 인자와 같습니다.

  • cpp — C++ 코드 또는 cppia 스크립트 생성 시 정의됨.
  • cppia — cppia 스크립트 생성 시 정의됨.
  • cs — C# 코드 생성 시 정의됨.
  • eval--interp로 코드 실행 시, 또는 매크로 문맥에서 실행 시 정의됨.
  • hl — HashLink 코드 생성 시 정의됨.
  • java — Java 또는 JVM 코드 생성 시 정의됨.
  • js — JavaScript 코드 생성 시 정의됨.
  • lua — Lua 코드 생성 시 정의됨.
  • neko — Neko 바이너리 생성 시 정의됨.
  • php — PHP 코드 생성 시 정의됨.
  • python — Python 코드 생성 시 정의됨.
  • swf — SWF 파일 생성 시 정의됨.

추가로 코드의 일부가 매크로 문맥이나 display completion 중에 사용될 수 있어요. 다음 플래그로 그런지 확인할 수 있습니다:

  • display — 코드 완성 제공 시 정의됨.
  • macro — 매크로 문맥에서 정의됨.

지원 기능(Supported features)

  • sys — 대상이 sys API를 지원하면 정의됨.

Haxe 4.0.0 이후 — 현재 대상에서 어떤 기능이 지원되는지 수동으로 확인하지 않고 더 세밀한 지식을 제공하기 위해, Haxe 4는 target.* defines를 제공합니다:

  • target.static(또는 static) — 대상이 static이면 정의됨.
  • target.sys(또는 위에 언급된 sys) — 대상이 sys API를 지원하면 정의됨.
  • target.utf16(또는 utf16) — 대상이 내부 문자열 표현에 UTF-16을 사용하면 정의됨.
  • target.threaded — 대상이 통합 스레딩 API를 지원하면 정의됨.
  • target.name — 예를 들어 js처럼 대상의 이름으로 정의됨.

출처: Target defines

본문

대상 플래그

각 컴파일 대상(cpp, js, java 등)마다 해당 플래그가 정의됩니다. display(코드 완성)와 macro(매크로 문맥) 플래그도 있습니다.

sys

sys 플래그는 대상이 sys API를 지원하면 정의됩니다.

target.* defines

Haxe 4의 target.static, target.sys, target.utf16, target.threaded, target.name 로 더 세밀한 대상 기능을 확인할 수 있어요.

더 알아보기