ID非公開

2021/9/16 19:57

44回答

C言語初心者です。 linuxで64bitアプリを作っている者です。 int型よりもlong型の方が大きいので

C言語関連 | Linux系106閲覧

ベストアンサー

0

ID非公開

質問者2021/9/16 20:41

無駄にメモリーを使うとアプリの動作が遅くなったり落ちたりするんですかね?

その他の回答(3件)

0

処理速度とか気にしないしプライドもないならそれでもいいけど、無駄にメモリ食うプログラムを書きたくないのが普通。 booleanとかは1bitあれば足りるのにわざわざlong型で4Byteも使うのはダサい。

0

intを全部longにってことですよね。 うろ覚えですみませんが、レジスタのビットに1が立つ数が多いほど(例えば-1なら全部1になる)、処理スピードも遅くなるとかどこかで見た記憶があります。 規模が小さければ影響はないでしょうが、でかくなると速度は落ちるとかありそうすね。

0

別に問題は起きません。 int型の定義が、もともとその環境で一番扱いやすいサイズの型、だったので、 特に理由が無ければintを使っているというだけです。 64bitになったときに、本来は標準のintも64bitにすべきなのですが、 それはオーバースペックじゃない?という事で、intは32bitに据え置かれました。 返り値が32bitでも64bitでも、使うのは同じ64bitレジスタでしようから、特に差はないかと思います。 なお、Windowsでは、longもそのまま32bitのままです。 long longは両方の環境で64bitになります。