CC.txt 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. Условная компиляция
  2. синтаксис:
  3. $IF "(" ident {"|" ident} ")"
  4. <...>
  5. {$ELSIF "(" ident {"|" ident} ")"}
  6. <...>
  7. [$ELSE]
  8. <...>
  9. $END
  10. где ident:
  11. - одно из возможных значений параметра <target> в командной строке
  12. - пользовательский идентификатор, переданный с ключом -def при компиляции
  13. - один из возможных предопределенных идентификаторов:
  14. WINDOWS - приложение Windows
  15. LINUX - приложение Linux
  16. KOLIBRIOS - приложение KolibriOS
  17. CPU_X86 - приложение для процессора x86 (32-бит)
  18. CPU_X8664 - приложение для процессора x86_64
  19. примеры:
  20. $IF (win64con | win64gui | win64dll)
  21. OS := "WIN64";
  22. $ELSIF (win32con | win32gui | win32dll)
  23. OS := "WIN32";
  24. $ELSIF (linux64exe | linux64so)
  25. OS := "LINUX64";
  26. $ELSIF (linux32exe | linux32so)
  27. OS := "LINUX32";
  28. $ELSE
  29. OS := "UNKNOWN";
  30. $END
  31. $IF (debug) (* -def debug *)
  32. print("debug");
  33. $END
  34. $IF (WINDOWS)
  35. $IF (CPU_X86)
  36. (*windows 32*)
  37. $ELSIF (CPU_X8664)
  38. (*windows 64*)
  39. $END
  40. $ELSIF (LINUX)
  41. $IF (CPU_X86)
  42. (*linux 32*)
  43. $ELSIF (CPU_X8664)
  44. (*linux 64*)
  45. $END
  46. $END