[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[b-free: 1454] Re: Window Manager (Re: B-Free by OO & BTRON programming)
/* In [b-free: 1450] Re: Window Manager (Re: B-Free by OO & BTRON programming)
Hideaki Suzuki <h1suzuki@bridgew.edu> Wrote: */
|> |> BTRON C++ クラスライブラリの取っ掛かりとして
|> |> TAD クラスライブラリを作成中です。
:
|> 私のほうもプログラムがバグっていて
|> なかなか進んでいません。
|>
|> STL を使ったものだから、コンパイラのバグにも
|> 遭遇してしまいました。
:
|たはは。STL はまだ完全に行き渡っていないというか、実装上の仕様も完全に統
|一がとれていないと聞きますしね。っていうか、compiler ってちょっとまとも
|なことをやろうとすると、すぐに、bug にあたりますよね。単に僕の運が悪いの
|かな(笑)。
GCC は、まだ template や例外処理などの
新しい仕様の実装が完全ではないようです。
昔からある機能は十分信頼できるのですが。
|> STL を使ったのはもしかしたら失敗だったかな?
|> (バイナリのサイズも大きくなってしまう)
|
|サイズが増えるのは、linker で何とかなりませんかね?
|borland のでは、たしか、何とかなったと思いますが。
TAD class のソースは今のところ 30KB ほどありますが、
object ファイルは総計1.5MB にもなります。
object ファイルが大きいのはあたりまえと言ってはあたりまえですが、
小さなテストプログラムでも 400KB にもなるのを見ると、
何とかなってないようです。
|> 動くようになったら(バグが取れたら) Web で
|> 公開しますし、動かなくても良いのなら
|> 言ってくれればまた送ります。
|
|5月の第2週ぐらいに、また、送ってもらえると嬉しいです。
なんとかバグが取れてきたので、現在製作進行中です。
TAD の読み込みはだいたいできたのですが、
書き込みはまだこれからです。
あと、セグメントは極一部しかできてませんが、
セグメントは必要になったものだけ作ろうかと思っています。
|というか、その頃、program ML で公開しませんか?
|documentation を書くのも大変ですし、その辺は、ML で公開すれば手分けでき
|るのではないかな?
ソースの量が増えましたので、メイリングリストで
流すのは無理っぽいですが、使いかたやセグメントの追加のしかた、
新たなストリームの作成法などなら流せると思います。
|> 特に BTRON1 のパーツはどうにかしてほしいです。
|
|こいつがねぇ、、、。> parts
|parts と menu だけは、なかなか class にする良い方法が見あたらなく
|て、、、。
JavaBean のようなコンポーネントに仕立て上げるべく
考えていますが、パーツの処理中は実行が行ったきり
帰ってこない所がどうにも。
パーツのような GUI 部品は、"プログラム→部品"と
呼び出すだけではなく、
"部品→プログラム"という流れも必要になるのですが、
BTRON1のパーツでは cact_par() のブロッキングと戻値で
"部品→プログラム" を表現するという強烈な事をしてます。
なんで素直にイベントやコールバックに
しなかったのでしょう。
パーツのコンポーネント化のためにもスレッドが欲しいです。
パーツごとにスレッドを作って、それぞれで cact_par() ループを
回せばコンポーネント化できそうです。
|> (大学生は暇がある)
|
|ごめん、これだけは、嘘でしょ。(^_^;;;;
|例えば、今年の夏学期を僕はとるのですが、しんどいです。
私の場合、去年までで卒業に必要な単位は取ってしまったので、
今年は卒業研究以外に何もやらなくても卒業できてしまいます。
とはいえ、そんな授業料のもったいない事はしませんが。
|って云うか、早い話は「暇な人は暇、忙しい人は忙しい」という事なんですよ。
|大学生は暇と、一般化されると悲しいっす。
そうですね。私の周りでも教職を取っている人は
かなり忙しいようです。
ただ、日本の学生は暇な人が多いのは事実です。
|> | だれか、B-free の Window Manager を一緒にやる人いませんか?
|>
|> おお、ついにやる気ですね。
|>
|> でも、まだ周辺核ができていなくて
|> 動かしてみることができないので、
|> 今作ろうとするのはたいへんそうに思います。
|> どのように作っていこうとしているのか、
|> 教えてもらえませんか?
|
|とりあえずは、API を決めないと始まらないだろうって。
|そういう事で、API を pickup しながら ML でこんなんで良いかとか色々話をし
|て、問題なさそうだったら、stand alone java の上で、色々実験してみようと
|思います。すなわち、java の描画機能を利用させてもらう訳ね。java は一応、
|full color / high resolution だから。
何でまた Java なのでしょうか。
BTRON1 のディスプレイプリミティブと Java の graphics は
1対1に対応しているわけではないので、
Java 上にディスプレイプリミティブを実装し、その上に
ウインドウマネージャを作ることになると思うのですが。
それより 1B 上の1つのウインドウを1画面と見たてて、
その中でウインドウマネージャをシミュレートする方が
良いと私は思います。
|で、とにかく、そうなると、最初の実際の仕事は java 上で event の生成とか
|を模す物を作らなくちゃいけないわけです。で、それが出来たらその上に
|window manager の描画処理や window design などを試せるような program を
|作ると。
これって、Java 上に BTRON を実装するようなものですね。
B-Free のウインドウマネージャの実装の準備としては
いまいちだと思うのですが、
これはこれでけっこう面白いかもしれません。
私が昔言った、Linux 上に BTRON を作る、というのに
近いような気がしないでもないです。
今でも私は UNIX 上に BTRON を実装するのは
現実的な解として有効だと思っています。
|そう言うわけで、ぜひ、落合さんも一緒にやりません?!
|きっと、つらい分だけ楽しいですよ!
私としては、目前の TAD class と BTRON1 フレームワークに
気が行っているのですが、
ウインドウマネージャも興味がありますので、
とりあえず、実現法を考えてみたいですね。
|って云うか、その前に、API の使い方ってどうするんです?
:
|ちょっとこの辺の疑問を、これから、kernel ML の方に書きますね。
では、そちらへ。
===
落合秀俊 名古屋大学工学部情報工学科
h953046b@ice.nuie.nagoya-u.ac.jp