アカウント名:
パスワード:
.NETランタイムとかデバイスドライバとかブートストラップローダも全部C#で書かれてるのか。# どうやって?
C#はC言語のポインタに相当するものを言語仕様として持ってるから(持ってなくてもやりようはあるけど)不可能ではないまた.NETランタイムとC#はWindows上では切り離せないように見えなくもないが本来は無関係というか違うレイヤーの話なので.NETランタイムをフルに実装したわけでもなければ実装する必要性も全くない
とりあえずソースコードをざっと眺めた範囲ではコンテキストスイッチ(のことだよね?)は今のところ実装されてないっぽいただ、IL2CPUに任意のオペコード出力(変換)ができるっぽい機能とそれを指定するっぽいOpCode属性があってOpCode属性を指定しただけのダミークラスがsource2/compilerディレクトリ内のCosmos.Compiler.Assembler.X86パッケージ内にずらずらと・・・というわけでC#じゃなくてもなんとでも出来そう
そう、いわゆるコンテキストスイッチ。(コンテキストという言葉はコンテキスト依存だから使いたくなかったんだ(笑))
私の知ってるCPUはどれも大なり小なり高級言語では制御できない内部ステートがあるんだけど、x86とかx64には無いのかな?
IL2CPUってそこまでやれるんですか?
#完全にC#のみで記述するという記事だとは思わなかったんだけど、そうじゃないのかしらん?普通はCとアセンブラの混合で記述されてるもんだから、Cの部分をC#という話しかと…。
IL2CPUを使ってC#(というかIL)で無理やり(今のところX86の)インラインアセンブリやってるみたいだからやろうと思えば何でもできるんじゃないかな
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人はmoriwaka -- Anonymous Coward
マジですげえ (スコア:0)
.NETランタイムとかデバイスドライバとかブートストラップローダも全部C#で書かれてるのか。
# どうやって?
Re: (スコア:2, 興味深い)
C#はC言語のポインタに相当するものを言語仕様として持ってるから(持ってなくてもやりようはあるけど)不可能ではない
また.NETランタイムとC#はWindows上では切り離せないように見えなくもないが本来は無関係というか違うレイヤーの話なので
.NETランタイムをフルに実装したわけでもなければ実装する必要性も全くない
Re: (スコア:2)
Re:マジですげえ (スコア:1)
とりあえずソースコードをざっと眺めた範囲ではコンテキストスイッチ(のことだよね?)は今のところ実装されてないっぽい
ただ、IL2CPUに任意のオペコード出力(変換)ができるっぽい機能とそれを指定するっぽいOpCode属性があって
OpCode属性を指定しただけのダミークラスがsource2/compilerディレクトリ内のCosmos.Compiler.Assembler.X86パッケージ内にずらずらと・・・
というわけでC#じゃなくてもなんとでも出来そう
Re:マジですげえ (スコア:2)
そう、いわゆるコンテキストスイッチ。(コンテキストという言葉はコンテキスト依存だから使いたくなかったんだ(笑))
私の知ってるCPUはどれも大なり小なり高級言語では制御できない内部ステートがあるんだけど、x86とかx64には無いのかな?
IL2CPUってそこまでやれるんですか?
#完全にC#のみで記述するという記事だとは思わなかったんだけど、そうじゃないのかしらん?普通はCとアセンブラの混合で記述されてるもんだから、Cの部分をC#という話しかと…。
Re: (スコア:0)
IL2CPUを使ってC#(というかIL)で無理やり(今のところX86の)インラインアセンブリやってるみたいだからやろうと思えば何でもできるんじゃないかな