2011|08|
2013|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|05|06|07|08|09|10|11|12|
2016|01|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|

2014-05-22 Windows7で2GBの壁を破るプログラムを作る(c/c++) [長年日記]

流石は研究員。情報が早い!

■Windows開発に詳しい知人に聞いてみました。
■プログラムのメモリ制限が2GBというのは正しいですが、
- 32bit OS + 32bit アプリ → 2GB制限
- 64bit OS + 32bit アプリ → 2GB制限
- 64bit OS + 64bit アプリ → 制限なし
ということだそうです。
■MinGWは32bitのバイナリを生成する(64bit未対応)ため、
上記の通り2GBの制限ができてしまうとのことです。
これを回避するために64bit対応のコンパイラが必要、とのこと。
■MinGWに限るならこれを試してみたら?とおすすめ(?)
されました。
MinGW-w64
http://mingw-w64.sourceforge.net/
http://sourceforge.jp/projects/sfnet_mingw-w64/

うん、びっくりした。軽く2GBを破った。

では、インストール手順を忘れないうちに。

(Step.1)http://sourceforge.net/projects/mingw-w64/
(Step.2)"Browse All Files"→"Toolchains targetting Win64"→"Personal Builds"
(Step.3)mingw-w64-bin_x86_64-mingw_20111101_sezero.zipをダウンロード、展開。
(Step.4)c:の直下に"c:\mingw64"として置く。
(Step.5)"c:\mingw64\bin"のpathを通す。
(Step.6)後は適当に、gcc -g test.c -o test などとしてコンパイルする。