« 出来ないかもしれない | トップページ | 何らかの日 »

2020年11月10日 (火)

同じソースなのに

雲多めの日中。

いやぁ、寒くなってきたねぇ。

 

VB.NETでプログラムを作っていて、はまってしまったことを書いてみる。

ものすんごーく、些細なことなんだけれど。(苦笑)

同じソースを使って、別のプロジェクトで動作確認をしていた。

が、同じソースなのに、AというプロジェクトとBというプロジェクトでは動作(出てくる結果)が違う!

どうして?!?!と、色々と変更を加えたりして確認してみたけれど、理由はわからず。

それは置いておいて、別件で調べていて、あ、と思ったことがあった。

そこには、32ビット、64ビットがどうたらこうたら、と書かれていた。

そこの内容そのものは僕には直接関係ない話だったけれど、ピーンと来た!

うまく動かないプロジェクトの「My Project」をダブルクリックし、「コンパイル」画面を開く。

そこの、「32ビットを優先」にチェックマークが入っていた!

普段であれば、プロジェクト作成後、すぐにここのチェックマークを外すのだけれど、今回は検証用のプロジェクトだったから、ここは意識していなかった。

「32ビットを優先」のチェックマークを「外した」状態で実行してみると、やっと同じ動きになった!

64ビットのOS上で、上記のチェックマークが入っていると、違う結果になるんだね。

たまたま、Windows APIを使っていたから、つまり、OSに関わる部分を触っていたからそうなったのだろう。

いい勉強になった。

Windows APIを使っていて思ったのが、OSって、本当に複雑なことをやっているんだなぁ、ということ。

普段であれば、Windowsに対して、なんでこんなにバグが!なんて思うけれど(笑)、こういうプログラムを作ると、OSの複雑さを体感させられる。
ここまで複雑なことをしていたら、そりゃー、バグも一杯作られるわな、と思った。

|

« 出来ないかもしれない | トップページ | 何らかの日 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« 出来ないかもしれない | トップページ | 何らかの日 »