質問: 64bit対応 32bitマシンで使っていたソースを、64bit化する際に 気をつけたこと、困った経験などがありましたら、教えて下さい。 どういったことが問題になるのか、勘所がわからないので、 勉強の為に質問させていただきました。 具体例なんかあると嬉しいです。 よろしくお願いします。
回答: #3です。 >tatsu99さんは、64bit対応の際に、まずそれぞれの型のバイト長を >調べて、2.long型を使用しないとされたんでしょうか。 その通りです。プログラマたるもの、そのぐらいは常識です。 マニュアルで調べ、かつ全ての型を、 printf("charのサイズ=%d",sizeof(char)); printf("char*のサイズ=%d",sizeof(char*)); printf("intのサイズ=%d",sizeof(int)); のようにして調べて下さい。 その結果、long型が32ビットと64ビットで異なるため通常は使用しないようにしました。 >私はintを使わないようにと言われたことがあります。 >なぜなのかよくわかってないので、 int型は、かつての古きよき時代(ms-dosの時代)には2バイトでした。そのため、int型は、osによりサイズが異なると思っている人が多いです。そのために、上記のことをいわれたのかと思います。この認識は、正しい場合もあり、そうでない場合もあります。(hp-ux,solarisでは正しくありません) どのos(又はコンパイラ)で、64ビットにするかは、わかりませんが、それが、明確になったとき、全ての型のサイズを自分で調べることが、大切です。