Пытаюсь воспроизвести subj (архитектура IA64)-- надо для отладки.
ммаплю кусок памяти, потом отдаю его сдвинутым на некое нечетное число
чаров (три, например). Впихиваю туда int -- по идее, должно
заругаться на unaligned access. Нифига, все работает!
char *c=(char*)mmap(0,12,PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0);
int *p=(int*)(c+3);
*p=12345;
fprintf(stderr,"%p: %d \n",p,*p);
p[1]=67890;
fprintf(stderr,"%p: %d \n",p+1,p[1]);
0x2000000000040003: 12345
0x2000000000040007: 67890
И icc, и gcc компилил, и все комбинации сдвигов/типов пробовал...
Почему?
Ответ на:
комментарий
от dilmah
Ответ на:
комментарий
от tailgunner
Ответ на:
комментарий
от Die-Hard
Ответ на:
комментарий
от generatorglukoff
Ответ на:
комментарий
от dilmah
Ответ на:
комментарий
от Die-Hard
Ответ на:
комментарий
от dilmah
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Как MAP_GROWSDOWN в mmap? (2018)
- Форум Утилита для изменения аптайма (2008)
- Форум Как узнать, сколько памяти доступно для выделения? (2005)
- Форум Любителям OpenCL и вычислений на GPU просьба помочь (2018)
- Форум Исследование CryEngine 2 SDK 1.4.0 (2012)
- Форум V4L2: ошибка удаления буфера из очереди: недопустимый аргумент (2023)
- Форум Access (2002)
- Форум access denied (2019)
- Форум Пощупал Access (2021)
- Форум Accessibility Оперы (2008)