目次

テトリス, メモリ, Unicode, 画面分割

+
もしかして...
その他

ゲーム, アプリ
shtris | アプリケーション例

bashでもなく, zshでもなく, cshでもなく, 純粋なshで動く, テトリスの公式ガイドラインにそったテトリスを作りたい.

OS, C言語
メモリ管理 | 仕組み

OSはタスクごとにメモリを動的に割り当てる必要があります(タスクが保有するメモリに関することはのちに説明します). というのも, これらのタスクはアプリケーション実行中に生成, 削除される可能性があるからです.

今回では, このメモリ管理をOSが行うことにします. OSがメモリ管理を行うことで, OS動作の理解がしやすくなるからです.

このページでは, OSによるメモリ管理をどのように実装するのか説明します.

メモリの構造 | タスク管理

ここでは, 実際にタスクが作成されたときのメモリの構造を示していきたいと思います. メモリでの各領域の説明, この構造によるmallocの問題を示します.

メモリ管理
メモリ管理 | 仕組み

OSはタスクごとにメモリを動的に割り当てる必要があります(タスクが保有するメモリに関することはのちに説明します). というのも, これらのタスクはアプリケーション実行中に生成, 削除される可能性があるからです.

今回では, このメモリ管理をOSが行うことにします. OSがメモリ管理を行うことで, OS動作の理解がしやすくなるからです.

このページでは, OSによるメモリ管理をどのように実装するのか説明します.

基本から理解するC++スマートポインタ

本来手動でメモリ管理しなければならない動的なオブジェクトを、スコープによって自動でメモリ管理するもの。

Stack
メモリの構造 | タスク管理

ここでは, 実際にタスクが作成されたときのメモリの構造を示していきたいと思います. メモリでの各領域の説明, この構造によるmallocの問題を示します.

ライブラリ
C++でUnicode文字列(UTF-8, UTF-16, UTF-32)を扱うライブラリ | C++ライブラリ

本稿では, C++でバージョンに左右されずに文字を扱うために, 以下の機能を持つライブラリを紹介します.

  • 型依存しないUTF-8, UTF-16, UTF-32間の相互変換
  • UTF-8, UTF-16文字(コードポイント)ごとのイテレート
  • 標準イテレータを使ったイテレート
  • 型依存しないイテレータの対応
画面分割ライブラリ Splitter | JavaScript
このライブラリは, 古いです

よりモダンで, 完全に要素ベースの[JavaScript/画面分割ライブラリ SplitView]をご使用ください.

多くの編集ソフトには, 一つの画面を分割する機能があります. 一つの画面を分割することで, 同じ画面で複数の作業を行うことができます.

Splitterは, ウェブブラウザ上で動作する画面分割ライブラリです. 分割境界にあるスライドバーを動かすことで領域のサイズを調節できます.

画面分割ライブラリ SplitView | JavaScript

ウェブブラウザ上で動作する, 画面分割ライブラリ.

スクリプト内に一切の状態を持たず, 完全に要素のデータ (例えば, 属性やスタイル) と要素の構造をベースに動作します. このことで, 次の三つの特徴が得られます.

  • ページロード時のレイアウト変化なし
  • 他スクリプトによるビューへの自由な変更
  • カスタム可能

サンプルページ

Cpp, UTF-8, UTF-16, UTF-32
C++でUnicode文字列(UTF-8, UTF-16, UTF-32)を扱うライブラリ | C++ライブラリ

本稿では, C++でバージョンに左右されずに文字を扱うために, 以下の機能を持つライブラリを紹介します.

  • 型依存しないUTF-8, UTF-16, UTF-32間の相互変換
  • UTF-8, UTF-16文字(コードポイント)ごとのイテレート
  • 標準イテレータを使ったイテレート
  • 型依存しないイテレータの対応
C++で学ぶUnicodeの基本とUTF-8, UTF-16, UTF-32の相互変換アルゴリズム | プログラミング

広く使われているUnicode規格を理解し, エンコーディングの手法, UTF-8, UTF-16, UTF-32, を理解して, 多言語の文字コードを扱えるようになることを目指します. 具体的に, UTF-8, UTF-16, UTF-32間の変換方法をC++で実装し, 手法はできるだけ速い方法を用います.

C++
C++でUnicode文字列(UTF-8, UTF-16, UTF-32)を扱うライブラリ | C++ライブラリ

本稿では, C++でバージョンに左右されずに文字を扱うために, 以下の機能を持つライブラリを紹介します.

  • 型依存しないUTF-8, UTF-16, UTF-32間の相互変換
  • UTF-8, UTF-16文字(コードポイント)ごとのイテレート
  • 標準イテレータを使ったイテレート
  • 型依存しないイテレータの対応
C++で学ぶUnicodeの基本とUTF-8, UTF-16, UTF-32の相互変換アルゴリズム | プログラミング

広く使われているUnicode規格を理解し, エンコーディングの手法, UTF-8, UTF-16, UTF-32, を理解して, 多言語の文字コードを扱えるようになることを目指します. 具体的に, UTF-8, UTF-16, UTF-32間の変換方法をC++で実装し, 手法はできるだけ速い方法を用います.

基本から理解するC++スマートポインタ

本来手動でメモリ管理しなければならない動的なオブジェクトを、スコープによって自動でメモリ管理するもの。

アルゴリズム, プログラミング
C++で学ぶUnicodeの基本とUTF-8, UTF-16, UTF-32の相互変換アルゴリズム | プログラミング

広く使われているUnicode規格を理解し, エンコーディングの手法, UTF-8, UTF-16, UTF-32, を理解して, 多言語の文字コードを扱えるようになることを目指します. 具体的に, UTF-8, UTF-16, UTF-32間の変換方法をC++で実装し, 手法はできるだけ速い方法を用います.

JavaScript, ダウンロード
画面分割ライブラリ Splitter | JavaScript
このライブラリは, 古いです

よりモダンで, 完全に要素ベースの[JavaScript/画面分割ライブラリ SplitView]をご使用ください.

多くの編集ソフトには, 一つの画面を分割する機能があります. 一つの画面を分割することで, 同じ画面で複数の作業を行うことができます.

Splitterは, ウェブブラウザ上で動作する画面分割ライブラリです. 分割境界にあるスライドバーを動かすことで領域のサイズを調節できます.

画面分割ライブラリ SplitView | JavaScript

ウェブブラウザ上で動作する, 画面分割ライブラリ.

スクリプト内に一切の状態を持たず, 完全に要素のデータ (例えば, 属性やスタイル) と要素の構造をベースに動作します. このことで, 次の三つの特徴が得られます.

  • ページロード時のレイアウト変化なし
  • 他スクリプトによるビューへの自由な変更
  • カスタム可能

サンプルページ

編集中, スマートポインタ
基本から理解するC++スマートポインタ

本来手動でメモリ管理しなければならない動的なオブジェクトを、スコープによって自動でメモリ管理するもの。

「https://contentsviewer.work/Master/:tagmap/テトリス,メモリ,Unicode,画面分割?layer=ja」から取得