nlib
Cafe用ライブラリに関する情報
前提となるソフトウェア
CafeSDK(2.10.00以降)及びC++コンパイラを必要とします。 更にサンプルのビルドには以下のソフトウェアを必要とします。
ディレクトリ構成
Cafe用パッケージ特有のディレクトリ構成は以下のようになっています。
├── system
│   ├── include                      # Header files.
│   └── lib
│       └── ghs
│            └── cafe
│                └── DEBUG           # Library files for Debug build
│                └── NDEBUG          # Library files for Release build
└── samples
     ├── cafe/Makefile                # Makefile for the samples.
     └── cmake/cmake_cafe_ninja.ps1   # A PowerShell script for creating build.ninja for the sample programs.
cmake_cafe_ninja.ps1は、Windowsのcmakeとninja(https://ninja-build.org/)でビルドするためのビルドスクリプトを作成します。
その他プラットフォーム固有の情報
  • OSSetThreadCleanupCallback()を直接利用しないでください。nlib_tls_alloc()で指定できるデストラクタを利用してください。
  • OSGetThreadSpecific(), OSSetThreadSpecific()を直接利用しないでください。nlib_tls_alloc()を利用してください。
  • スレッドの利用に際してTLSを1つ使用します。
  • Cafe用のexiライブラリはnlib_tls_alloc()を通してTLSを1つ使用します。
  • nmallocはnlib_tls_alloc()を通してTLSを1つ使用します。
  • ソースツリー外でのビルドを可能にするため、独自のcommondefs等を利用しています。また、kanji=utf-8が指定されています。