Я использую Ubuntu 10.04 LTS и хочу сделать программу для запуска на большом сервере Debian, который имеет 300 ГБ памяти. С командой:
g++ Encoder.cpp -std=c++0x -m64 -o Encoder.o
она возвращает что-то вроде
In files included from /usr/include/features.h:378,
from /usr/include/c++/4.4/i486-linux-gnu/64/bits/os_defines.h:39
from /usr/include/c++/4.4/i486-linux-gnu/64/bits/c++confige.h:243,
from /usr/include/c++/4.4/iostream:39,
from Encoder.cpp:1:
/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: No such file or directory
но без флага-m64, программа компилируема, но столкнется с проблемой "ошибки сегментации" всякий раз, когда использование оперативной памяти превышает 2,5 ГБ.
или на самом деле компиляция по умолчанию будет 64-битной? Как мне сказать, если процесс 32bit или 64bit в "топ"?