Linuxプラットフォームでアプリケーションを64ビットに移植する作業をしています。このアプリケーションは現在、Linux、Windows、Mac 32ビット、およびWindows64ビットでサポートされています。私たちが頻繁に遭遇する問題の1つは、intのlongの使用であり、その逆も同様です。アプリケーションが現在サポートされているプラットフォームでは、longとintは交換可能(両方とも4バイト)であるため、これはこれまで問題ではありませんでした。コードベースは巨大なものであり、多くのデータ型に対して#definesを含む多くのレガシーコードがあるため、longのすべての使用法を検索し、適切にintに置き換えるのは面倒です。
- 短期的な解決策として、GCCが「long」に8バイトではなく4バイトを使用するようにする方法はありますか?
- もしそうなら、私たちが直面する可能性のある問題は何ですか?そうでない場合、longとintの問題を修正する簡単な方法はありますか?