xchgeaxeax@home-kde ~/testDir/2gbTest $ cat ./main.cpp #include <iostream> #include <cstring> const long long strSize = 1500000000; // 1.5 Гб...
[ATTACH] Всех с праздником.
С этим головняком позволят развлечься Gentoo или Arch. Нужен -mcmodel=large у libc - просто собери сам.
На это ответили еще на 4 странице - ограничение формата исполняемого файла, но оно связано с ограничениями в инструкциях процессора. Если книга...
Не зависит. Только от версии gcc и библиотек в системе, используемых твоей программой. Соответственно библиотекам ставятся и заголовки к ним,...
VirtualAlloc для кусочков произвольного размера лучше не использовать. Попробуйте написать через GetProcessHeap/HeapAlloc/HeapReAlloc VirtualAlloc...
И что вы тогда вот тут вот делаете? Это я пытаюсь запутать? Повторить сказанное в цитате и сказать, что согласен... Такое впечатление, что...
// тест файла test_val_main.cpp int main(int argc, char *argv[]) { // это просто стартовая функция. Она ничего не делает. Нам интереснее вторая...
Не 4 Гб потому что в 32 бита числа со знаком не помещаются в таком диапазоне. А со знаком они потому, что это смещения, а не абсолютные значения и...
int main(int argc, char *argv[]) { return 0; } int x; int getNextValue() { return x + 1; }$ gcc -o ./test_val ./test_val_main.cpp...
Это не верно. Там вычисляется 64-битный адрес, но в инструкции нельзя напрямую добавить 64-битное смещение. Т.е. [rdx+disp32] и на выходе у вас...
Дело не в этом. Бинарник может быть хотя 2, хоть 4 Гб. Вопрос только в том как вы будете добираться до переменных в этом бинарнике. Проблемы...
Вот две инструкции загрузки в rax учетверенного слова по смещению [ATTACH] И вот что из себя представляют их опкоды: [ATTACH] 0x48 это как раз...
Тут есть оффсет: mov rax,[Val]
Все в кучу. Какое отношение PAE имеет к смещению в командах. Вы технологию расширения физического адресного пространства смешали с адресацией на...
Имена участников (разделяйте запятой).