Download
Entwicklung
Konto
Download
Entwicklung
Anmelden
Vergessen Konto/Passwort
Konto erstellen
Sprache
Hilfe
Sprache
Hilfe
×
Anmelden
Anmeldename
Passwort
×
Vergessen Konto/Passwort
Übersetzungsstatus von Deutsch
Kategorie:
Software
Personen
PersonalForge
Magazine
Wiki
Suche
OSDN
>
Finden Software
>
lua-naka
>
Howto
lua-naka
Fork
Beschreibung
Projekt Zusammenfassung
Entwickler-Dashboard
Web-Seite
Entwickler
Bildergalerie
RSS Feed-Liste
Aktivität
Statistiken
Historie
Downloads
Aller Releases-Liste
Statistiken
Quellcode
Quellcode-Repositorys-Liste
Git
lua-naka
Subversion
Repository ansehen
Ticket
Ticket-Liste
Liste der Meilensteine
Typenliste
Komponentenliste
Liste der zuletzt benutzten Tickets/RSS
Neue Ticket abschicken
Dokumente
Titelseite
Titel-Index
Kürzliche Änderungen
Kommunikation
Foren
Forum-Liste
Entwickler (1)
Hilfe (1)
Offene Diskussion (1)
Mailinglisten
Alle Mailinglisten
Neuigkeiten
How to use lua-naka
コンセプトの説明
・C++およびboostにおいて、ユニコードはUCS(wchar_t)
で扱われるのが好ましい。
Lua言語においてはUCSでは互換性の問題が発生するのでまずい。
・Linuxにおいてはコンソールおよび標準入力はUTF-8が望ましい。
WindowsにおいてはUCS2またはSHIFT_JIS(CP932)が望ましい。
これらの問題をストレートにクリアすると、
至る場所でコード変換が発生し、
Luaの持つ 軽い・速い というメリットが死ぬ。
したがって、以下の仕組みで動作するようにパッチを当てる。
・標準インターフェース上は、互換性を満たすように
文字列はUTF-8としてふるまう。
・文字列オブジェクトのプロパティにキャッシュ領域へのポインタを持ち、
遅延評価的に必要になった時だけ自動的にUCSへの変換が発生し、
キャッシュが作成され、プロパティにリンクされる。
・キャッシュ領域はLuaのアロケーターの管理下に入る。
・作成されたキャッシュはガベージコレクタの動作の対象になった時に
ガーベージコレクタによって回収される。
・Cインターフェースにはキャッシュの作成を指示し参照し
wchar_t *を取得できるAPIが追加される。
Luaの言語仕様上、Stringの内容は不変であり
(言い換えれば代入によってのみ変化が発生する)、
そしてショートストリングは値が一致したときに共有される
という性質を持つため、変換回数は抑えられる。
Download-Dateienliste
Wiki