新しいものを表示

Pilot in command><(「機長として操縦」の方の意味の機長><(つまり資格じゃない方><))
en.wikipedia.org/wiki/Pilot_in

orange さんがブースト

PIC が Programmable Interrupt Controller だったり Peripheral Interface Controller だったり Position Independent Code だったりする話か

orange さんがブースト

C の volatile を正しく使いこなせるのは人間を超越した存在だけ

スレッドを表示
orange さんがブースト

一応 C においては「アプリケーションロジックの与り知らぬところで値が変更される可能性がある」みたいなのは volatile 修飾で表現できるけど、まあ地獄ですわ

スレッドを表示
orange さんがブースト

mstdn.nere9.help/@orange_in_sp
mstdn.nere9.help/@orange_in_sp

それ非決定性が超アレなので、よほど言語側でうまく対応しない限りは「非同期変数に対応するアトミックなフラグをビジーループや条件変数で監視する」とか「並列キューでメッセージ到達をポーリングで監視」みたいな運用になるし、たぶん RTOS 上のインターフェースもそんな感じでは

Firefox、Electron使ってGUI作ればよくね><(双方への皮肉)

orange さんがブースト

Geckoから完全にXULを消すの、代わりに何でUIを記述するかという問題が出てくるし、WebブラウザとしてのFirefoxに何も価値を付け足さない変更に相当のマンパワーが取られる(今日のXULを作り上げるのにも相当のマンパワーが注ぎ込まれている)

orange さんがブースト

大量のプラットフォーム依存なC++コードを(更に)追加することなくFirefoxからXULの層を消す方法、Windows版やmacOS版もGTK+アプリケーションにするという方法があってこうするとコードはむしろ減るかもしれないけれどきっとそれは望まれている方法ではない

RTOSよくわかんないけどたぶんRTOSでそういう事が出来る言語で書けたら便利かも的な想像をしながら書いたけど、いじった事全く無くて全くわからない・・・><

どういうのを想定してるかと言うと、ワンボードマイコンの上でそこそこリッチだけどハードウェアを直接弄るようなものを書くみたいな場面の時にあったら幸せそうみたいな・・・><

並列プログラミング、かつ、任意のタイミングでも処理を開始できて、待つ事も出来て、待つのをあきらめる事もできて、かつ(普通の環境だと無理があるけど)、結果の状態に(処理後の状態)書き換わる処理は明示的にのみ行われ十分にとても短い時間で出来て、書き換える前は書き換わる前の値を返す事もできる
みたいなのをVerilog HDLのノンブロッキング代入文を見ててなんかこう・・・><
mstdn.nere9.help/@orange_in_sp

orange さんがブースト

それ本質的に並列プログラミングなので、シリアルな処理として捉えるのに無理があるのでは

ていうか、普通の(?)非同期プログラミングっぽいのが書ける言語で、結果が必要な時に結果の計算をするだけじゃなくて任意のタイミングで処理(準備)をして任意のタイミングで状態を書き換える(ように振舞う)みたいなのってあるのかな?><
(普通に結果が必要な時に処理するだと間に合わない可能性があるじゃん?>< あるタイミングで処理して、必要なものが全部そろったか確認して、確認したらいっせいに新たな状態に(出来ることならば保障された時間内で)って、ハードウェアを弄る場面だとわりとありそうだと思うんだけど・・・><)

これの実験コード、かなり酷いけど一応書いたのでせっかくなのでpaiza ioに><;

C#で439行のコード書いたよ!ブラウザ上で実行できるよ! paiza.io/projects/F0NiGRwETVCf

スレッドを表示

あきらめたらバグに気づいて出来た><;

作ってて楽しいけど誰も得しない気がしなくも無い・・・><

これ、目的を考えると
fuga = hoge <= false;
って書かれてしまったらhogeの中身が破棄されない(hogeもfugaも同じハードウェアリソース等を参照する事になるかも?)ので危険かも><;

演算子の変わりに型で明示的な型変換したやつを暗黙の型変換でどうにかする手も?><;
hoge=true;//普通に代入
hoge=(NonBlockingRightSide)true;//ノンブロッキング代入もどき
とか?><;

スレッドを表示

よく考えたらと言うか実際にやってみて気づいたけど、これだと、
hoge <= false;
みたいに書きたくても
hoge = hoge <= false;
になってしまう><;

スレッドを表示

<= は使えるっぽい!><;(と言う事は見かけ上ちょっと近くなる?><;)

スレッドを表示
古いものを表示
:realtek:

思考の /dev/null