So-net無料ブログ作成

32bit on 64bitじゃなくてその逆。 [プログラミング]

ふと32bitOSで64bitバイナリを動かせたらいいなぁとか思ってしまった。すぐにそんな高度なこと無理だと思い直したが、無理な事じゃなさそうかもなと思ったりした。

そもそも32bitバイナリと64bitバイナリってどこが違うんだろう。Win32は全部64bitに最適化されて作ってるのか、とか考えると気になる。Win64ってのもあった気がしたんだが、別に64bit以降の時にコンパイルのし直し程度以上のことをした人はいないんじゃないかと思ったり。

そもそもWOW64という仕組みがあるんだから逆もできるんじゃないかと思ったり。でもメモリを切り詰める方と伸長する方は全然違うんだろうな。動くときに64bitアドレスで動くものを32bitに制限するのは無理じゃないにしても面倒な気がする。

https://ja.wikipedia.org/wiki/WOW64

そもそも仮想化で32bitOS上で64bitのOSが動かないから面倒なのだが、おそらくはハードウェアの仮想化っていうのも、仮想ハードウェアデバイスをフィジカルなハードにつなげているだけなんじゃないかと思ったり。そう考えると大してVirtualBoxが大きくないことも理解できる。きちんとKVMとか見てソースから理解すればいいのだけれど、面倒なのでやらない。


まぁそもそもの会社のPCが32bitOSなのが悪いんじゃ。でも、バリバリ開発をしている人のマシンも32bitだって言ってたから、事務な私はなすすべもない。今はWindows10でLinuxのバイナリも動く時代だから何とかなりそうな気もするんだが、そこはシステムプログラミングは面倒なので、やってもデバドラぐらいまでになるのかな。まぁWindowsのデバドラはこの先書くことになるなんてことはないのだろうけど。もしかしたらMacとかはあるかもしれないけどね。あくまで興味的に。

妄想してないでLLVMの仕組みとか調べろよというのは確かな話で。

コメント(0) 
共通テーマ:パソコン・インターネット

コメント 0