制御系なら俺に聞いて ..
[2ch|▼Menu]
577:デフォルトの名無しさん
06/03/20 07:34:41
>>572

SRAMにはバイト単位のアクセス許可(16ビットの上位8bitだけ下位8bitだけを有効にする)
が付いてる事が多いから、そうだとすると
>1番地からプロセッサが16bitリードすると、最初の下位ハーフワードと2番目の上位ハーフワードが読み込まれる。
>(プロセッサが奇数番地からのワード読み込みをサポートしていたならばの話)
は可能だけど、 そうじゃない場合には無理だね。


> メモリのスペック:2Mワードx16bit (容量4Mbit)
 は 容量が32Mbitか 4Mbyteかの間違いか
  256Kワードx16bit (容量4Mbit)

>この場合、プロセッサが使用可能な物理メモリ空間の大きさは512k(4M / 8)
 を成立させるには
  256Kワードx16bit (容量4Mbit)
が正解なのだろう

578:デフォルトの名無しさん
06/03/20 08:21:08
マンドクセから、チップとコントローラの仕様によって変わってくる、ってことにしようぜ

579:552
06/03/20 20:37:59
>>575
そうですよね。
ソフトから見た場合、1アドレスには1バイト割り当てられるという理解で良いんですね。
(ハード屋さんがアドレスバスの接続を間違えたりしなければ)


>>577
>SRAMにはバイト単位のアクセス許可(16ビットの上位8bitだけ下位8bitだけを有効にする)
>が付いてる事が多いから、そうだとすると
私がデータシートを読んだSRAMも、確かにLowerByteとUpperByteを区別してデータを取り出せる仕様になってました。

>>1番地からプロセッサが16bitリードすると、最初の下位ハーフワードと2番目の上位ハーフワードが読み込まれる。
>>(プロセッサが奇数番地からのワード読み込みをサポートしていたならばの話)
>は可能だけど、 そうじゃない場合には無理だね。
自分で書いておいてナンなんですけど、これって2回のバストランザクションが発生しますね。
(アドレスバスには0番地しか出ていないから、1番地の上位ハーフワードを同時には取り出せない)
こういうのはコンパイラ&アセンブラがうまいこと2回のバイトリードに振り分けるんでしょうね。

>256Kワードx16bit (容量4Mbit) が正解なのだろう
そうです。間違えてました。すみません。(めちゃくちゃってこのことか・・・)


いやー、おかげさまですっきりしました。
何度もありがとうございました(^^)

580:デフォルトの名無しさん
06/03/20 21:19:28
アラインされてないメモリアクセスを、2回に分割するのはCPUだろ。
アクセスするアドレスがアラインされているかいないかをコンパイラ・
アセンブラ・リンカが知ることの出来ないケースがあるから。
 CPUがサポートしてなかったら、バスエラー。

581:デフォルトの名無しさん
06/03/20 21:30:36
>>580
> アラインされてないメモリアクセスを、2回に分割するのはCPUだろ。
そうなの?

> アクセスするアドレスがアラインされているかいないかをコンパイラ・
> アセンブラ・リンカが知ることの出来ないケースがあるから。
具体的にはどんなケースでしょ?

582:デフォルトの名無しさん
06/03/20 21:43:52
a.c: int *foo(){ return (int*)0x12345; }
b.c: int bar(){ return *foo(); }

583:デフォルトの名無しさん
06/03/20 21:44:29
x86系のCPUは奇数番地からのワードread/writeを2つのバイトアクセスにCPUが別けてくれる
他の多くのCPUは奇数番地からのワードアクセスでは例外を出すだけ
どうしてもそれでアクセスしたいなら自分で例外内でバイト2つに別けるとかするのだろうが
そんな仕掛けをわざわざ入れてる奴はみた事がない。

コンパイラが自動的に奇数番地からのワードアクセスを
バイトアクセスにしてくれるのも見た事がない。

584:デフォルトの名無しさん
06/03/20 22:09:45
このスレのレベルだと、>>582>>581 の答えとわ
かってない奴が多そうな予感。

585:デフォルトの名無しさん
06/03/20 22:10:37
>>583
OSレベルでなんとかしてくれることもある。
URLリンク(www.linux.or.jp)
>不整列アクセス(Unaligned access):
>    他の RISC CPU と同様に、Alpha でもメモリのアクセスに際しては 自然境界に整列している必要があります。
>例えば、メモリから 4 バイトの整数を読み込む場合には、先頭のアドレスが 4 の倍数となっている必要があります。
>同様に、8 バイトの整数を読み込む場合には、8 の倍数のアドレスから読み込む必要があります。
>もし、CPU が正常に整列していないワードをアクセスする場合には、 CPU はカーネルにトラップをかけて警告を出力します。
>そしてカーネルは、不整列アクセスをエミュレートし、何事もなかったかのようにユーザプロセスを実行します
>(ただし実行速度は大幅に落ちます)。

586:デフォルトの名無しさん
06/03/25 16:14:39
>>584
もっと人間を信じろ。そこまでアホばかりではない。

587:デフォルトの名無しさん
06/03/25 17:04:45
>>586
だが、信じすぎてはいけない。そんなに賢い人間はそうはいない。

588:デフォルトの名無しさん
06/03/30 01:32:26
GCCで、特定のメモリ範囲だけを使わないメモリマップを作りたいのだがどうしたらいい?
その領域に、ダミーの変数なり関数を配置しておけばOKだと思うのだけど・・・。


589:デフォルトの名無しさん
06/03/30 01:45:59
>>588
つLDスクリプト

590:デフォルトの名無しさん
06/03/30 04:11:11
変数ならアクセスしなきゃいいだけだが、関数だとその番地にロードされるコードができるね。
「ロードすらしてはいけない」なら関数はだめだな。
俺もCPUのバグレポートで「この番地は使ってはいけない」所には使わない変数を配置した。

591:デフォルトの名無しさん
06/03/30 22:09:01
なんで入出力って非同期転送にならないんでしょうか?ウエイト入れるくらいならキューにしちゃえばいいのに。
なんでウエイト入れなきゃなんないんですか?

592:デフォルトの名無しさん
06/03/31 00:49:53
>>591
ヒント:キャパシタ

593:デフォルトの名無しさん
06/03/31 06:04:12
>>591 巨視的な世界での電圧の変化って、ピュー太の内部CLKと比べると充分に遅いから、
っていう理解じゃだめ?

594:デフォルトの名無しさん
06/03/31 13:31:53
>>591
相手が遅いから

制御系レベルの入出力とデバイスドライバレベルの入出力がごっちゃになってるんじゃないかという前提で、
相手が早いのか遅いのか、同期で読まなくちゃならないのかバッファリングして読んでもいいのかが決まってない世界が制御系。

595:デフォルトの名無しさん
06/03/31 20:07:49
なんか凄いな。いつから皆さんエスパーになったのよ?w

俺には>>591は説明不足の舌足らずな質問にしか見えんが。
端的にいって意味不明ですけど。

596:デフォルトの名無しさん
06/03/31 20:30:48
それは君の経験不足に起因していると思うよ
しなくていい経験というのもあるから、不足というと語弊があるかもしれんが

597:デフォルトの名無しさん
06/03/31 20:44:34
いや凄いってのは当然皮肉なんですがw
仮に591読んで「意味が分かる」とすればそれこそ経験不足でしょ。

自分の妄想や思い込みを抑えて、謙抑的に書いてあることを書いてあるままに
読み取る訓練ができてないんだよそりゃ、悪いけどw

598:デフォルトの名無しさん
06/03/31 20:58:22
ゆとり教育の想像力低下を危惧すべきだな。

599:デフォルトの名無しさん
06/03/31 21:23:18
想像と妄想とは違うよw

確かに、591の文章の意味を想像することはできる。
しかし、入出力、非同期、キュー、ウェイト、などという一般的過ぎることばだけでは、
何についてのどのレイヤーの話をしているのか全く分からない。
可能性は無限に「想像」可能、といっていい。

それを勝手に「ああそのことね…」なんて早とちりして回答するのは
妄想以外のなんでもないよ。

600:デフォルトの名無しさん
06/03/31 21:36:52
確かに君は経験豊富なようだ。
ただし煽られる側のな。

601:デフォルトの名無しさん
06/03/32 00:05:18
もっと書いてくれれば答えガイがある質問かもしれん。
ぱっと見では勘違い電波質問にしか見えんが。

俺の受けた電波は、タイミングチャートを見たことも無い
間違って組み込みやらされてるPGから発信されたものだといっている

602:デフォルトの名無しさん
06/03/32 00:05:29
まとめると、入出力は非同期転送にできるし、キューを使いたければ使えば
いいってことだな。

603:デフォルトの名無しさん
06/03/32 01:09:12
つーか3/32に見えるな、エイプリールフールってことかいね。

604:デフォルトの名無しさん
06/03/32 01:17:49
でスレ呼んでみたが・・・
確かにひどいなこれは。聞いたことある名詞を適当に並べて、
とりあえず接続詞を入れてみましたってな文章だな。

605:デフォルトの名無しさん
06/03/32 01:32:23
>>597
何も分かってないか只の釣りだということが読み取れるから
基礎を講釈してるんだろ

606:デフォルトの名無しさん
06/03/32 01:37:34
I/Oは、CPUの動作している高速なサイクルじゃ、バスにぶら下がってる外部入出力装置が認識できる電位まで立ち上がる事が出来ないんだよ。
だから十分にWAITを入れて電位がHigh(Low)に達するまで待たなきゃならんの。

たとえキューを使おうが、非同期にしようが、I/Oで保持する信号の変化を待つ為にWAIT入れなきゃ行けない。


607:デフォルトの名無しさん
06/03/32 01:39:55
超高速な世界から見たら、配線コードそのものがコンデンサーみたいな物だからなぁ・・・。

608:デフォルトの名無しさん
06/03/32 01:46:49
>>606
答えになってないなw
仮に591の質問の意図が君の思っているとおりであるとしても。

I/Oで保持する信号の変化を待つ為にWAIT入れなきゃ行けない。
それはその通り。
「だから」CPUとI/Oの間にキューが入れば、非同期でできるのになんで、と聞いているのに。

609:デフォルトの名無しさん
06/03/32 01:52:57
PCIeの立ち上がりは100psだっけ?
とてもじゃないが、そんな信号の遣り取りなんか面倒見たくないね。

610:デフォルトの名無しさん
06/03/32 02:05:27
>>608
キューに送る信号の安定待つのにWAIT入れないといけないんだけど?

つか、外部メモリーのアクセスにだってハード的にWAIT入れてるってえのに・・・

611:デフォルトの名無しさん
06/03/32 02:16:14
>>608
つーか、お前が本ネタか?
だったら、お前が考える同期/非同期転送の違い、ウェイト、キュー
FIFO、メモリ、レジスタを定義してくれ

意図が読み取れなくて非常に気持ちが悪い

>>608
ソフトで面倒見られるのはH/Wより”遅い”場合だけだよ
H/Wが逆さに振ってもおっつかないもんは、どうしようもない

612:デフォルトの名無しさん
06/03/32 09:06:26
608ではないが(595=597=599=608か? 言っていることは分かるつもり)

同期転送の例
1) データの変化がクロックに対して決まっていること
2) 転送元クロックと受信側クロックがあっていて、乗り換えの必要がないこと
2') 転送元からクロックが送られてきて、データがそれに同期していること
3) トランザクション終了がデータ転送終了となるもの
非同期転送の例
1) データの有効期間をストローブなどで知らせるバス
2) バスクロックと受信側クロックが合ってなくて、乗り換える回路がある
3) データ転送がoutstandingに実行される

599がレイヤーが違うといっているのは3)とそれ以外かな?

電圧だのキャパシタだの言っている奴はどういう意味のつもりなんだ?同期・
非同期とどう関係するのか全然わからん。メタステーブルにならないところで
読むのは当り前で、1-3で言うところの同期か非同期かは関係ない。

613:デフォルトの名無しさん
06/03/32 09:35:50
>>612
いや、俺は605=611
あんな時間は当然のように仕事してた

正確に言えばキャパシタンスと言いたかったんだろうな
(厳密にはインダクタンスも絡むけど)

その影響で
>>3) トランザクション終了がデータ転送終了となるもの
こうならないと言いたかったんだろう

理由がなんだろうが、ぶっちゃけて言っちまえば
高速な信号の保持機構を端折ったH/Wの尻拭い、ってだけだけどな


614:デフォルトの名無しさん
06/04/24 06:28:01
保守

615:デフォルトの名無しさん
06/04/24 11:03:46
H8/300HシリーズでμITRONを考えています。
・・・が,対応製品が
・ThreadX-μITRON(4.0仕様。グレープシステム)
・NORTi/H83(2.0仕様。ミスポ)
ぐらいしか見当たりません。(TOPPERSは取りあえず除く)

昔は,HI8-3H(2.0仕様)というものが日立純正であったようなのですが,現在利用できるのかが分かりません。

どなたか,HI8-3Hがどうなったのかと,H8/300Hシリーズで使用できるμITRON製品を教えてください。

616:デフォルトの名無しさん
06/04/24 14:00:16
μITRONをH8/300hで使いたいってのは、既に動いてる資産を利用したいからって事かい?


617:デフォルトの名無しさん
06/04/24 17:20:42
SuperHファミリ用リアルタイムOS [HI7750/4]
URLリンク(japan.renesas.com)
>HI7750/4は、μITRON4.0 仕様に準拠したSuperHファミリマイコン用の
>リアルタイム・マルチタスク OS です。

H8用はないっぽい

618:デフォルトの名無しさん
06/04/26 06:22:25
トロンのカーネルはいちおう8bitまで考慮して書いてはあるけど、300Hじゃ動いても重い
でしょうね。ふだんOSレスで書いてる私から見れば、オーバーヘッドすぎるからやめとき、
が最初に出ますね。タイマひとつ張るのに識別子付けて記述言語情報付けて関数アドレス
付けてなんて、「標準化」ってのはそういうことなんだけど、チビの石には負担でしょ。
大事なのは割り込みとタスクレベルと両方から触る変数はタスク側でdi()/ei()かますこと。
セマフォだって根底はこれだけだよ。

619:デフォルトの名無しさん
06/04/26 06:54:59
タスクの切り替えは、単にスタック領域をタスク毎に用意して、スタックポインタを切り替えるだけ
もっともH8はレジスタが多いから重くなるね

620:デフォルトの名無しさん
06/04/26 07:21:46
タスク切り替えごとに割り込みマスクされると....

621:デフォルトの名無しさん
06/04/26 07:30:54
具体的には、 taskA,taskB というポインタを用意しておいて

A->Bタスク切り替え:
 1、全レジスタをスタックに保存
 2、taskA := SP
 3、SP := taskB
 4、全レジスタをスタックから復帰
 5、return

つまり、Cで書く割り込み処理に SP切り替えを追加しただけのコストでタスク切り替えは実装出来る

622:デフォルトの名無しさん
06/04/26 07:32:30
ただ、スタック領域がタスクの数だけ必要になるので、H8/300の1チップで
このスタック領域を確保するのは厳しいだろうな

623:デフォルトの名無しさん
06/04/26 07:43:15
なるほど
でも、SPを切り替える時のコードが思いつかない。

624:デフォルトの名無しさん
06/04/26 07:57:06
SP=ER7だから、普通に mov でメモリに書いて読めばいいだけだよ

625:デフォルトの名無しさん
06/04/26 08:02:44
え、Cじゃ無理なの?

626:デフォルトの名無しさん
06/04/26 08:17:47
h8用のCならインラインアセンブラを埋め込むのは可能だろう

汎用的にやるなら #include <setjmp.h>
setjmpしてlongjmp

627:デフォルトの名無しさん
06/04/26 15:16:50
H8/300HくらいならμITRONサブセットのSmalightOSくらいでいいんじゃね?
トラ技のバックナンバーに載ってる。

628:デフォルトの名無しさん
06/04/30 17:37:55
普通のLinux入れたいです。

629:デフォルトの名無しさん
06/05/02 12:14:22
>>626
625じゃないけど・・・
setjmpとlongjmpでSP切り替えできるんだ・・・

というか、使ったことないのでした・・・setjmp

630:デフォルトの名無しさん
06/05/02 12:32:50
でもアセンブラ使わないとなると、スタートアップ時にmainで巨大な配列をローカル変数に取るとかいう格好になるんで
ちょっと格好悪い


631:デフォルトの名無しさん
06/05/02 13:34:19
setjmpとlongjmpはSPを記憶、戻すというイメージでは?
やっぱり、アセンブラか。個人的には意味ない感じ....

632:デフォルトの名無しさん
06/05/02 14:36:23
630の内容は taskA から taskBを起動する時に
1、taskAのsetjmp
2、大量にローカル変数を取ったtaskBのスタートアップルーチンを呼ぶ
3、taskBで setjmp⇒taskAにlongjmp

2で取ったローカル変数のサイズだけtaskAのスタック領域が確保されるという仕掛け

633:デフォルトの名無しさん
06/05/02 16:02:59
なんか、勘違いしてない?

634:デフォルトの名無しさん
06/05/03 19:33:49
俺もそう思う

uITRON載せるのは16ビット以上ないとつらそうだ。8ビットなら昔は自作のOSもどきのタスクチェンジャ作ってのせてたな

635:デフォルトの名無しさん
06/05/03 20:00:03
uClinuxは?

636:デフォルトの名無しさん
06/05/03 20:22:24
OSのせるとある程度CPUパワーがいるからね。タイミングが厳しいのは....

637:デフォルトの名無しさん
06/05/03 22:19:45
8ビットものはタスクスイッチとセマフォとタイマあればいいや

638:デフォルトの名無しさん
06/05/04 00:14:59
>>635 あれは仮想メモリないCPUでも動くがだいぶ違うと聞いた

639:デフォルトの名無しさん
06/05/04 10:17:59
ぬるい仕事しかしたことないんで、どうも「タスク」とやらの必要性がわからない。
8bitや16bitのCPUでやるような組み込みなんか、
割り込み + 回るコマドリ でいいじゃん。

「コンテキストの保存」というオーバーヘッドは
いったいなんのためのコストなんだろう。

640:デフォルトの名無しさん
06/05/04 10:28:22
「コンテキストの保存・切替」というオーバーヘッドは  割り込みで全レジスタを保存するのと同じですよ。

つまりc言語で割り込み記述するのと同じコストですよ

641:デフォルトの名無しさん
06/05/04 12:22:17
切り替えに時間がかからないのはわかったんですが、
スケジューリング?にかかる時間の計算はどうすればいいの?

642:デフォルトの名無しさん
06/05/04 12:40:49
回るコマドリ というのが、例えば

void progRobin1(void){
 static RobinNo=0;
 switch(RobinNo){
  ・・・・・
 }
}

みたいにしてmainで割り込み待ちした後、各コマドリを呼び出すという方法だとしたら

それをコンテキスト切り替えにしてRoundRobin方式で回したり
入力タスクを出力タスクにつないだりするのと、時間的なコストは変らないのでは?

ただ、スタック=メモリ消費が大きいのが問題だと思うけどなあ

643:デフォルトの名無しさん
06/05/04 12:50:42
その方法はよくわかるんですが、
リアルタイムOSでは、時間計算とかどうしてるのか気になるんですよ。

644:デフォルトの名無しさん
06/05/04 16:07:15
誰が駒鳥さんを殺したの
誰が殺したクックロビン

645:639
06/05/04 16:49:24
>>640
えーっと、だから数代前のMacOSみたいな設計(ノンプリエンプティブ、だったっけ?)
なら、つまり一定時間で強制的にタスクを切り替える、なんてことをしないで
全部ラウンドロビン方式でやれば、コンテキストの保存なんて作業の必要性は
発生しないわけですよねえ。

それじゃまずいタイムクリティカルな部分だけ割り込み使えば、
マイコンでやるような小規模なシステムなら必要十分だと思うんですが。

646:デフォルトの名無しさん
06/05/04 18:31:35
例えば、可変長ブロックの通信処理。 
圧縮が入っていてけっこう厄介なものだとする。
会社Aに通信仕様だわ渡して頼んだら、GetByteみたいな関数呼び出して実装して持ってきちゃった。

でも全体のシステムを設計してた会社Bは
通信部は割り込みで受信する事を考えていたという事があるとするよ。

どっちも自分がマスターで、相手をスレーブと考えていたという場合だ。

このGetByteでコンテキスト保存して会社Bのメインタスクに戻り、
受信割り込みでコンテキスト切り替えしてGetByte に戻してやる。

そうすると、会社Aのコードも会社Bのコードも両方が動くと。


647:デフォルトの名無しさん
06/05/04 18:46:40
まあ上の例だと、FIFOに書いては、ある程度溜まる都度 会社Aのコードを呼び出せるように
変更するという対策もまだ選択可能かもな。


でもさらに、

会社Aが アチコチにあるGetByteで読んで
圧縮されたデータを復元した結果を アチコチでPutByteしてたとするよ。

会社Bも 圧縮された結果をあちこちでGetUnpacByteして動くように作ってデバッグまで終わらせてしまってた。
で、納期は迫ってちゅうような状況だとしたらどう?

こういう状況だと、Aのコード、Bのコードをタスク化してつないでしまわんとしょうがないでしょ?


648:デフォルトの名無しさん
06/05/04 21:07:23
つうか、会社Aも会社Bも、お互いにきっちりコミュニケーションとって下さい。

649:デフォルトの名無しさん
06/05/05 00:08:54
コミュニケーションとった場合でも、マルチタスクを導入しなければ
片方がスレーブ的なコードを書かなければならなくなるわけで
この手のコードはマスター側で書くのは楽だが、スレーブとして書くのは大変でしょ?


650:デフォルトの名無しさん
06/05/05 00:46:28
大変っていうか、とりまとめてる会社がみんな悪いなw

651:デフォルトの名無しさん
06/05/05 16:23:28
どの会社が何を作るなんて決めの問題だろ。
で、決めたらそれを作るだけじゃん。

何が不満なんだ?

652:デフォルトの名無しさん
06/05/07 07:59:59
>643
スケジューラの時間が書いているよ。
URLリンク(documentation.renesas.com)
このITRONの実装では、こうなるということで、実装によって
算出方法は変わりますが


653:デフォルトの名無しさん
06/05/07 08:18:54
ありがと
でも、割り込み禁止時間が...............

654:デフォルトの名無しさん
06/05/07 23:00:44
関係ないけど、可変長と委員長って 似てるよね

655:デフォルトの名無しさん
06/05/07 23:40:05
むしろ月亭可朝

656:デフォルトの名無しさん
06/05/07 23:57:52
委員長かわいいよ委員長

657:デフォルトの名無しさん
06/05/11 15:23:18
かっぱ寿司(回転寿司)にいって、
カウンター席ーー>可変長メモリプール、
テーブル席 ー>固定長メモリプール
と思ったりしませんか? 優先度待ちにできんものかと、
勝手なことを考えたりします。


658:デフォルトの名無しさん
06/05/11 15:59:11
>>657
kwsk

659:デフォルトの名無しさん
06/05/11 21:38:52
うちの子供はテーブル席でも走って行って欲しいもん注文して帰ってくるぞ。


660:デフォルトの名無しさん
06/05/11 22:32:44
よくわからんのだが、かっぱ寿司はカウンター席とテーブル席に格差があるのか?

661:657
06/05/12 09:54:55
>660
優先度待ちで、優先度が高ければ、最後にノートに書いても、
次に呼ばれるということです。なんのひねりもなくてすまん。

ところで、テーブル席(可変長メモリプール)の場合に、
ITRONの仕様より、かっぱ寿司のアルゴリズムのほうが優秀です。
いわゆるフラグメンテーションについてです。というより、ITRONの
仕様が実装をやさしくしたのだと思います。
スレ違いですまんです。


662:デフォルトの名無しさん
06/05/12 10:57:26
中四国で制御系の仕事やらしてくれる会社をおしえてください。

663:デフォルトの名無しさん
06/05/12 11:39:49
教えてあげたいが会社ばれするので断る

664:660
06/05/12 12:43:29
>>661
つまりあれだ、回転寿司かどうかに全く関係なく、ファミレスなんかの着席待ち行列の話だな?
空き席の状況と喫煙席の可否に応じて割り当て順序を変えるのが一般的じゃないのか?
漏れの行くような辺りだと「カウンター席のお客様を先にご案内します」とか、
「禁煙席の空きがありませんのでもう少しお待ちいただけますか」なんてのはよく見る光景だが。

それとあれだ、回転寿司に引き摺られて>659は注文待ち行列とミスリードしたわけだな。
そこで>659に質問だが。
かっぱ寿司ではカウンター席とテーブル席では注文の通し方に格差があるのか?

665:デフォルトの名無しさん
06/05/12 13:06:30
中四国ってそんなに少ないんかい

666:デフォルトの名無しさん
06/05/12 16:55:38
2重振子の振り上げのプログラム書かないとダメだけど全然わかんない…
どうすりゃいいの??

667:デフォルトの名無しさん
06/05/12 17:10:31
>>666
スレリンク(tech板:131番)
タイミングからして、初めからマルチする気満満だな。

668:デフォルトの名無しさん
06/05/12 22:08:27
URLリンク(www.ics.esys.tsukuba.ac.jp)

669:デフォルトの名無しさん
06/05/14 01:27:30
>>662
うちの取引先に岡山のがあるなあ。
前の職場の検査装置が広島だった。

探せば意外にあちこちあるはずだけど
一度中に入らないとそういう情報見えてこないんだよねえ。

670:デフォルトの名無しさん
06/05/14 18:44:30
8人様ご案内のとき、4人席を2つ並んで確保するときもあれば
バラバラにされるときもある
だいたいは予約ノートに書くときに客が指定するけど
ファミレスの運営形態にもよるが、大抵はその8人が
すぐ近くにいたいのか離れてもいいのかで
確保の仕方が異なるんだよ

671:デフォルトの名無しさん
06/05/14 20:36:31
回転寿司でテーブル席だと回転寿司の醍醐味が味わえない。

672:デフォルトの名無しさん
06/05/14 22:13:10
>>671
テーブル席沿いにレールがあっても?

673:デフォルトの名無しさん
06/05/15 00:31:11
>>672
4人がけだと、レールから離れてる方がつらい
取ろうとして手がぶつかってしょうゆこぼすし

674:デフォルトの名無しさん
06/05/15 12:47:31
あー、バスインターフェースがボード上に散らばっている状態か。

675:デフォルトの名無しさん
06/05/15 23:16:55
>672
テーブル席沿いにレールがあるとこってあるの?
ないと思うけど、あったら流行るかな?
これって特許になりませんか?

676:デフォルトの名無しさん
06/05/15 23:24:31
>>675
あるよ。チェーン店でも全商品100円のなんたら寿司はそうだった記憶がある。
つーか、テーブルを縫うようにレールが走っているともいえるね。最早回転じゃない。
このタイプの店は、目の前に職人がいて直接オーダーするタイプの店とは明らかに違う。
店によっても違うのだろうが、機械握りだったりするわけだ。
魚屋チェーンの某魚○が経営していた回転寿司屋もレールが九十九折になっていたが、
休日夜でさえ一部レーンをショートカットするような状態が続いた挙句に終に潰れたよ。

677:デフォルトの名無しさん
06/05/15 23:40:52
神奈川にいた時は元禄すしがおいしかったな。
こっちだとくらがおいしいかな。

678:デフォルトの名無しさん
06/05/16 08:06:17
お前らはアセンブラプログラムだ。皿に乗ったデータが目の前に来ると変なことするだろう。

679:デフォルトの名無しさん
06/05/16 15:34:46
>677
昔、千日前の元禄寿司でバイトしてたことがあるよ。
元禄は、一応職人がにぎってたよ。ちょっとおいしいの
かもね。バイトの大半はエビの作業でした。



680:デフォルトの名無しさん
06/05/16 16:15:43
>>679
元禄寿司ってこっちにもあるんだ。
こっちだと、くらとかかっぱばかり見るからないんだと思ってた。

681:デフォルトの名無しさん
06/05/16 16:21:11
>>680
こっちってどっちだよw

鮪で有名な御崎港には職人が握る回転寿司屋があるが、
レーンは殆ど機能していない。
なんせ客は殆ど職人に注文してしまうので、レーンを流れるのは山葵とかデザートだとか……

682:デフォルトの名無しさん
06/05/16 23:35:38
回転寿司スレはここですか?
回転寿司の寿司をデータと考えたアルゴリズムが思い浮かんで
実装した記憶があるが、どんなのだったか忘れた
この時間でも空いてる店ってこっちだとどこかな

683:デフォルトの名無しさん
06/05/16 23:46:53
大学の時、ゼミの後輩に、プログラミングの勉強のためってことで、
回転寿司シミュレータってのを作らせた覚えがある。

684:デフォルトの名無しさん
06/05/17 17:25:44
HALは一般的にはどのレベルの抽象化ですか?
レジスタアクセスの抽象化か、
ドライバ層全体を指すのか、
俺的には前者のイメージなんですが。

685:デフォルトの名無しさん
06/05/18 11:07:23
>684
一般用語というより、マイクロソフトで使われている言葉じゃないかな。
URLリンク(it.e-otsuka.com)
問いの答えは、後者っぽいけど、アークテキチャに依存しないドライバー部分が
あるようですので、どちらでもないように思います。

このスレっぽい話をすると
TOPPERS/JSPの中の、jsp/config以下に相当するんじゃないかな。


686:デフォルトの名無しさん
06/05/18 22:04:53
>>684
WindowsのHALの話なら、基本的なアーキテクチャの差異
(電源管理、割り込み、マルチプロセッサ対応など)を吸収するレイヤ。
レジスタとかオペコードよりは上、ドライバよりは下の階層。

たとえばx86版の場合だと、割り込みの違い(PICとAPIC)、
電源管理の違い(APMとACPI)、マルチプロセッサ対応の違い
なんかで違うHALが提供されてる(インストール時に自動選択)。

ただまあ、一般化するほど一般的な用語じゃあないかな。

687:684
06/05/24 00:54:38
>>685, 686
こんばんわ

ecosのHAL層とか見てみたんですが、toppersのconfigと同等っぽいですね。
特定のデバイスの抽象化というよりはosを
実装する上でのターゲット依存部(cpu, intc, timerなど)を切り分けたのを
HALと呼んでるっぽいですね。board support packageと同義かな?


688:684
06/05/24 00:59:43
ところで全然話は変わるんですが、
ITRONは要するにマルチスレッドの実行環境である、という認識であってるんでしょうか?
組み込みlinuxやwindows、symbianとかでITRONのタスクのような並行処理の単位となるのは
スレッドになるんでしょうか?

689:デフォルトの名無しさん
06/05/24 01:06:58
>>688
並行処理なんて、やってないからw

690:684
06/05/24 01:25:08
並行は擬似並列という意味で書きました。

691:デフォルトの名無しさん
06/05/24 01:28:16
現役のCPUで、本当の意味での並列処理を実装していたら、プログラマの何パーセントが生き残れるんだろうな・・・

692:デフォルトの名無しさん
06/05/24 21:31:42
>>688どっちかと言うとuItronのタスクはプロセスよりスレッドに似ている。

693:デフォルトの名無しさん
06/05/24 22:41:49
uITRON等で言うタスクは、WindowsとかLinuxのプロセスとほぼ同義。
タスク(プロセス)同士は異なった資源空間に属する。
(もちろん共有できる資源もある)

スレッドはプロセスとかタスクの中で資源空間を共有しつつ
並列に走る処理単位を指す。

マルチスレッドといった場合、プロセス(タスク)の中で
1〜複数のスレッドが走ってるモデルを指す。
その場合でも、「プログラム」と言ったら普通は
プロセス(タスク)単位の空間を指す。

スレッドが単体で存在することは普通はない。
あっても特殊な用途向け(割り込みスレッドとか)。

694:デフォルトの名無しさん
06/05/24 23:28:33
>>689, >>691
デュアルコア CPU

695:デフォルトの名無しさん
06/05/24 23:44:23
>>694
使い切れてないだろw

696:デフォルトの名無しさん
06/05/25 08:40:12
タスクの切り替えってメモリ空間の切り替えで、
スレッドってスタックの切り替え(スタックレジスタの書き換え?)なの?

697:デフォルトの名無しさん
06/05/25 09:48:15
>>693
いや、uITRONのタスクは基本的にメモリ保護なかったと思ったが? どちらかというとスレッドでしょう?
もともとMMUの無い環境を想定していると理解している。 最近になって拡張機能としてメモリ保護を
加えたらしい。

μITRON4.0仕様 保護機能拡張(μITRON4.0/PX仕様)
URLリンク(www.ertl.jp)


698:デフォルトの名無しさん
06/05/25 10:40:43
本当の意味での並列処理を実装されてたら
並列処理されていることにすら気付かない

699:デフォルトの名無しさん
06/05/25 22:18:25
何を言いたいのか意味わからん。

700:デフォルトの名無しさん
06/05/25 23:04:59
メッセージ交換なんて端折ってダイレクトにアドレス渡しでやり取りしてるから、無理。
つうか、プロセス間通信のメッセージ内容がポインタって何じゃそれ。の、世界だから、永久に無理。

701:デフォルトの名無しさん
06/05/26 00:20:40
ますますわからん。
まずおまえの言う「並行処理」とやらを定義してくれ。

702:デフォルトの名無しさん
06/05/26 00:28:43
不特定多数の人間に対して「おまえ」とか二人称で言ってる奴の方がワケわからんよw

703:デフォルトの名無しさん
06/05/26 00:31:13
>>701
誰に言ってんの?

704:デフォルトの名無しさん
06/05/26 01:26:38
こういうイチャモンつけるやつには、ホント閉口するわ

なんちゃってゲハハ

705:デフォルトの名無しさん
06/05/26 11:39:23
>>701
人に考えを伝える能力に欠けているやつに
何度訊いたって無駄じゃないかな。

706:デフォルトの名無しさん
06/05/26 11:53:30
推理が楽しいんじゃないか

707:デフォルトの名無しさん
06/05/26 17:34:44 BE:108696487-#
エスパー能力を訓練するスレはここですか?

708:デフォルトの名無しさん
06/05/26 17:42:45
ええ、常に2チャンネルで訓練していますよ。
これはフリーでやってゆくのに、最も必要な能力ですからね。

709:デフォルトの名無しさん
06/05/27 03:28:10
悩んでいるやつの後ろを通りかかったときに
ちらっと後ろから覗いて 間違いを見つけた。
そいつがオレに質問しようと口を開いた瞬間に

ポートが読めない原因を探しているのなら
あんたの担当のサブボードにゃあ ないぜ!
メインボードに(入れちゃいけない)ジャンパがはいっている!

とか言ったらピシガシグッグッをやられた

710:デフォルトの名無しさん
06/05/27 07:56:17
結局間違いは何だったの?


711:デフォルトの名無しさん
06/05/27 08:18:07
1、1つのCPUでスタック領域を時分割で切り替えたりコルーチン構造にする
2、 1つのCPUが複数のレジスタセットを持ち、これを時分割で切り替える
3、 2を命令サイクル毎に自動的に行うもの
4、CPUを時分割で使い、仮想記憶の仕掛でまるで複数のCPUがあるかのように見る
5、CPUが複数存在する

712:デフォルトの名無しさん
06/05/27 12:33:12
FPGAをCで書くために拡張された部分には(真の)並列処理の記法があったな

713:デフォルトの名無しさん
06/05/27 13:15:08
あのさあ、「OSI参照モデル」じゃないけど、どのレイヤーの話をしているのか明確にしないと
ただの揚げ足の取り合いになると思うよ。

プログラマの相手にする対象の範囲内では、
並列処理が物理学的に真に並列かどうかなんて全くどうでもいいことでしょ。

揮発的に見える共有資源があるかどうか、
それだけが問題なのであって。

714:デフォルトの名無しさん
06/05/27 14:04:08
制御系の場合はそうでもないよ。
昔、松下電子の4ビットマイコンで 命令サイクル毎の時分割が出来るのがあったが
こういうのは、命令数数えてシリアル転送するとか、そういうのにはとても便利

715:デフォルトの名無しさん
06/05/27 16:41:52
>>712
System Cとかかな。
まあチップ内処理はほんとに並列実行されるしね。

716:デフォルトの名無しさん
06/05/27 17:09:21
組込み系でUMLとかオブジェクト指向設計とかやってる所ある?
特に開発言語がCな所で。

717:デフォルトの名無しさん
06/05/27 18:26:08
各制御単位において、それぞれの部分全体をオブジェクトと見なす。

718:デフォルトの名無しさん
06/05/27 18:52:59
>>715
真の並列実行などあるはずがない。

719:デフォルトの名無しさん
06/05/27 18:58:48
>>718素人は黙ってろ
世の中にはお前の知らないことも多い

720:デフォルトの名無しさん
06/05/27 19:04:36
>>717各デバイス、U/I、コントロールをクラスにすればOK?
UML使ってみたいがクラスの分類がわからん。

721:デフォルトの名無しさん
06/05/27 22:42:14
>>717みたいのは単なる「仮想化」であって、それなら何十年も前から
そのようにやってるじゃん。

確かにオブジェクト指向の肝でもあるけど。

722:デフォルトの名無しさん
06/05/29 00:59:28
とはいっても、実際、そういう手法を取ってるところ多いからね。

723:デフォルトの名無しさん
06/05/31 01:26:44
オブジェクト指向「風」 なら、その言葉が誕生する前から
やってる人は多いよね

言語レベルで出来るってのは確かに魅力だけど
それだって結局使う人しだいだしね

まーどうだろうね実際

724:デフォルトの名無しさん
06/05/31 01:29:30
オブジェクト指向技法なら、ゲームの世界では20も年前からやってた事だな。

725:デフォルトの名無しさん
06/06/06 23:29:12
組込み開発においてCUnitなどのユニットテストツールを
ばりばり使っている人っています?

ぜひ話を聞いてみたい


726:デフォルトの名無しさん
06/06/07 15:30:54
げ! コード組んでデバッグ初めて気付いた。
H8-Tinyの方向レジスタは読み返しが出来ないのか・・・・

727:デフォルトの名無しさん
06/06/08 16:57:49
>>724
オブジェクト指向は、処理系がそうでなければ、
ただのオブジェクト指向風構造化プログラムなだけだと思うが


728:デフォルトの名無しさん
06/06/08 17:21:13
そんなふうに考えている時期が俺にもありました

729:デフォルトの名無しさん
06/06/08 23:16:30
俺もそうだった

オブジェクト指向言語を使ってるだけで、
オブジェクト指向使ってると思ってるのと一緒


730:デフォルトの名無しさん
06/06/08 23:30:35
バグで人間をぶち殺した人いますか?

731:デフォルトの名無しさん
06/06/08 23:41:05
>>730
人的被害こそなかったが、使用されるモータのパワーと当たり所によっては指くらい切断しかねないバグを出した香具師なら知っている。

732:デフォルトの名無しさん
06/06/08 23:55:32
>>727
オブジェクト指向っていうのは考え方。
言語は何だっていいんだよー。

733:724
06/06/09 03:41:49
>>727
勘違い乙
俺はハナからオブジェクト指向技法と言っている。
アセンブラでポリモフィズムとか出来ないのは言語仕様だからしょうがないw


734:デフォルトの名無しさん
06/06/10 08:08:23
できるよ

735:デフォルトの名無しさん
06/06/10 23:02:34
質問です、近々Web系から制御系に転職するんですが
転職前に前知識として知っておいた方が良い事とか
読んどいた方が良いものってありますか?

736:デフォルトの名無しさん
06/06/10 23:15:24
ごく一部をのぞいてそんなとんがった技術が要求される業界じゃないから
必要な知識はOJT式にやりながら覚えていけるでしょ。

737:デフォルトの名無しさん
06/06/10 23:33:56
>>735
知っておいたほうがいいこと
 ・部品マニュアルの和訳は無い
 ・部品マニュアルは必ずしも正しくない

738:デフォルトの名無しさん
06/06/10 23:43:24
>>736 >>737
おぉ!ありがとうございます
周りに経験者がいないので結構びびってました
英語力は必要だとは聞いていたのでマニュアル見れるようにがんばります

739:デフォルトの名無しさん
06/06/10 23:52:22
割り込みハンドラでやってはいけない処理って
どういうのがあるのでしょうか?

740:デフォルトの名無しさん
06/06/11 00:00:28
>>739 時間を取る処理をすること。割り込み中は他の処理を止めているため割り込み中で時間をとると他の処理がタイムアウトや失敗することがある
割り込み以外とリソースを共有すること
変数などを共に書き換えているときは割り込み以外は割り込み禁止にしてかき変えないと競合する

741:724
06/06/11 00:45:54
>>740
変数書き換えごときで割り込み禁止にするなよ。
つか、割り込みの外と中で同じ変数に書くな。
中で書く変数は外では読み専用。
外で書く変数は中では読み専用。

742:デフォルトの名無しさん
06/06/11 01:22:13
>>741
おいおいなんだか痛い人だなあ。

例えばさあ、その「中で書く変数」とやらを「書く」操作が
アトミックじゃなかったとしたらどうなるんだよ。

っていうか>>739はマ板でも同じ質問してるんだよね。
そっちでも書いたけど、そもそもそれが分かってない奴が
割り込みつかっちゃいけないよ

743:デフォルトの名無しさん
06/06/11 01:22:52
>>740

セマフォなどのリソースの獲得も問題なのでしょうか?

744:デフォルトの名無しさん
06/06/11 01:43:33
割り込み禁止なんて事は、どうしようもなかった時の方便で使うにトドメレッてことだろ。
つか、そもそも割り込み内でリソース扱うなw システムコールもするなw

745:デフォルトの名無しさん
06/06/11 03:22:53
セマフォの「獲得」は初期化時にやっとくのがふつうだね。
セマフォを使った排他制御自体は(長く止めないことが判ってれば)割り込み中でも可。

>>741 uart使うときの、リングバッファ中の滞留バイト数みたいな情報は割り込みの中と外
両方から更新する必要があるでしょ。これを割り込みの外から更新するときには割込み禁止
にする必要がある。LD、add、ST、の3命令だけの短時間だけ。

746:ビル・ジョブス
06/06/11 03:45:43
割り込み処理で使えるリソースは自分自身が管理しているデバイスとメモリ、
システムコールは許可されている物のみ。
割り込み禁止にする・しないは、割り込みレベルを抜きに語れないでしょ?
通常はより優先度の高い割り込みは入れるものかと。

リングバッファについては割り込み側はputのみアプリ側はgetのみにすれば
割り込み禁止にする必要もないかと、getが遅くてputできない状態は取りこぼすが、
そればリングバッファを増やすなど設計・運用で対応するのがベター。
putPtrとgetPtrを用意してポインタで管理すればアプリは何バイト読めるか計算で
求められるのでバイト数をカウントする必要は無いよ。もしもその瞬間割り込まれたとしても、
putPtrが1マシンサイクルで更新される、つまり1インストラクションで更新されるCPUならば、
割り込み処理側が優先されるので不具合にはならないはず。
SHはOKでH8-300シリーズもOK、H8-500シリーズは割り込まれると怪しい処理になるかもね。
よって厳密にはケースバイケースが正しいのでは。

747:デフォルトの名無しさん
06/06/11 04:15:31
送信側のringバッファは以前このスレで聞いてポインタだけに直せました。

受信側は、「受信したバイトがあるかどうか?」を見るのに滞留数を使ってるので、滞留数を
廃止できなかったのですよね。滞留数をputptrとgetptrから計算する手法はここで聞いて理解
したのですが、取り出し側で滞留数を判定するときに毎回その計算するよりは、
受信時滞留数++、取り出し時滞留数--、滞留数がゼロでなければ「受信バイト有り」のほうが
オーバーヘッドが少なそうだったので。3MHzの8085での話です。

10MHzオーバーのH8ならそんなオーバーヘッドは気にしないでよさそうですね。
H8/500シリーズは、メモリ++が1命令でできるのでだいじょうぶです。

748:デフォルトの名無しさん
06/06/11 05:14:11
少なくとも >>735>>739 には

エレベータ制御はやらせてはいけない


749:デフォルトの名無しさん
06/06/11 07:23:20
@itで組み込みベンダーの半分は海外に外注って書いてあったけど本当?

750:デフォルトの名無しさん
06/06/11 11:30:49
質問者は「割り込みハンドラのなかで〜」と抽象的なことしか言ってないのに
特定の環境に引き寄せて回答してる奴ってのは頭おかしいのかね
自分のやってることが世界の全てだとでも思ってるのだろうかw

抽象的な質問には抽象的に答えるしかないだろうに。
具体的を出すなら「例えば」と前置きしろよ。
ま、具体的すぎる「些細な話」が一般的に万人にとって役立つとはとても思えないが。

751:デフォルトの名無しさん
06/06/11 11:33:26
OS使えよ。バカなんだから。

752:デフォルトの名無しさん
06/06/11 11:53:22
>>749
多分、本当。
でもって、仕様通りじゃないとか、糞過ぎて使えねえとか、その辺の経験を一通りクリアしたくらいの時期。

753:デフォルトの名無しさん
06/06/11 11:56:07
>>450必死だなw
素人は黙ってろ
組み込み系は専門知識が重要だから無知なやつが書いたらすぐ判るぞ

754:デフォルトの名無しさん
06/06/11 11:59:15
いつの話を蒸し返してるんだよお前わ

755:デフォルトの名無しさん
06/06/11 12:00:39
そのくらい粘着じゃないと、BUG取りはできないよな。

756:デフォルトの名無しさん
06/06/11 12:05:16
>>752 thx うちの会社は遅れてるのかな。
国内の外注は良くやるが海外の外注はないな。
実装がアウトソーシングされるとSEとQAしか会社に残らんのとちゃう?

757:デフォルトの名無しさん
06/06/11 12:08:59
>>756
固有デバイスに特化した知識なんていらないだろ?

758:デフォルトの名無しさん
06/06/11 13:13:18
>>575 特定デバイスに特化した知識がないとオープン系と変わらんぞ
組み込みlinuxなどのオープン系のOSが普通になると組み込み系の技術者はハードとソフトの両方の知識が入るドライバー周りだけしか残らないかもな
実際ソフト規模が増えて組み込み技術者不足らしいがオープン系から流入して来るんだろうな

759:デフォルトの名無しさん
06/06/11 13:20:32
>>758
おまい、わかってないな。
特定デバイスは特定デバイス専門でやてくれる所に投げればいいんだよ。
その方が、安いし速いし安全。

システム全体の寿命と、そのデバイスを採用し続ける寿命、どっちが長いと思ってんだ?

760:デフォルトの名無しさん
06/06/11 13:26:41
>>759話が噛み合わないな
ドメインが違う?
普段何開発してんだ?

761:デフォルトの名無しさん
06/06/11 19:58:37
今FPGA開発している。
ソフトと違うんで色々苦労するけど、興味深いものはあるな。

海外に外注というか、系列ソフト会社に外注して、その孫外注が在日の中国人で
日本語でコメント入れてくれてたんだけど、てにをはが壊れている以上だった。
今はインドとか開発依頼している。
日本に来てもらったりした時は、ベジタリアンとかだと食事の世話に困るんだよなあ。

762:デフォルトの名無しさん
06/06/12 18:41:56
普通に英語でコメントを書いてくれればいいんだけど、
現地語でかかれてなんじゃこりゃ?って経験はある。

763:デフォルトの名無しさん
06/06/13 07:34:08
香具師らも日本語のコメント見て
現地語でかかれてなんじゃこりゃ?って思ってるだろうな

764:727
06/06/13 12:48:47
>>732,>>733
ま、議論し尽くされたネタだし、版違いなんだろうが
オレ的には、どこまでいっても、オブジェクト指向と構造化プログラムは似て非なるものという認識なのだが
とくにCの場合は、旧処理を許しているから混同しがちだが
旧処理系でどんなにオブジェクト指向"風"にやってもそれはあくまで高度な構造化
それを広義に"オブジェクト指向技法"といってよいものかどうかは、現在の理論でどう解釈されているかはわからん
実際どーなのよ

765:デフォルトの名無しさん
06/06/13 19:08:05
NeXTSTEPとかみたいに、それ前提のシステムがあるが、
オブジェクト指向前提の言語でやらなきゃ真なるオブジェクト指向にはなり得ないという考えなのかな。

766:デフォルトの名無しさん
06/06/13 22:07:41
Cだろうとアセンブリ言語だろうとオブジェクト指向でコードは書ける。
単にオブジェクト指向言語は、非オブジェクト指向言語で、
オブジェクト指向を書くときに、明示的に書く処理を書かずに済むだけ。

767:デフォルトの名無しさん
06/06/13 22:55:57
>>766
でもそもそも「オブジェクト指向」の定義があいまいだからね。

構造体とメンバを操作する関数を一塊にして仮想的な「装置」と看做すこと
こそオブジェクト指向の本質だ、っていう見解の人もいれば(俺はこっちの立場)、
継承だの多態だのといった瑣末(だと俺は思うんだけど)な技術こそ本質だって人もいるから。


768:デフォルトの名無しさん
06/06/13 22:58:36
本当のオブジェクト指向なら、ポインタなんて使わねえだろうなぁ

769:デフォルトの名無しさん
06/06/13 23:54:26
そうだよ。「対象を目的地に移動させます」と書いておけば移動媒体のファームウェアが出来あがる。
こんな楽な事はない。


770:デフォルトの名無しさん
06/06/14 00:12:43
大体だな、オブジェクトというのは貧乏人が使うクロージャなんだってばよ。

771:デフォルトの名無しさん
06/06/14 00:18:49
>>769
識別子(ID)くらいは必要だろ。

772:デフォルトの名無しさん
06/06/14 00:48:46

いらないよ。
対象は人でも、荷物でも、電子でもなんでもいいんだ。 目的地は南極だろうが宇宙だろうが異次元だろうがどこでも良い。
移動手段はオブジェクトが決めてくれる。

オブジェクト指向。すばらしい。

773:デフォルトの名無しさん
06/06/14 00:50:47
そうだよなあ。
車.移動(自宅)
で移動してくれるわけだから、、、って話がずれてないか?


774:デフォルトの名無しさん
06/06/14 00:53:51
上流階級はオブジェクト指向なんかでプログラミングしない。
上流階級は関数型言語だ。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4902日前に更新/253 KB
担当:undef