|
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 8
|
||||||||||||||||||||||||||
Странное поведение динамически создаваемого массива23.10.2013, 01:34. Показов 962. Ответов 3
Метки нет (Все метки)
Вот такая вот простенькая программа, тестирующая возможности динамической памяти:
Кликните здесь для просмотра всего текста
Test of dynamic memory
plist[ 0] = 0; plist[ 1] = 1; plist[ 2] = 4; plist[ 3] = 9; plist[ 4] = 16; plist[ 5] = 25; plist[ 6] = 36; plist[ 7] = 49; plist[ 8] = 64; plist[ 9] = 81; plist[ 10] = 100; plist[ 11] = 121; plist[ 12] = 144; plist[ 13] = 169; plist[ 14] = 196; plist[ 15] = 225; plist[ 16] = 256; plist[ 17] = 289; plist[ 18] = 324; plist[ 19] = 361; plist[ 20] = 400; plist[ 21] = 441; plist[ 22] = 484; plist[ 23] = 529; plist[ 24] = 576; plist[ 25] = 625; plist[ 26] = 676; plist[ 27] = 729; plist[ 28] = 784; plist[ 29] = 841; plist[ 30] = 900; plist[ 31] = 961; plist[ 32] = 1024; plist[ 33] = 1089; plist[ 34] = 1156; plist[ 35] = 1225; plist[ 36] = 1296; plist[ 37] = 1369; plist[ 38] = 1444; plist[ 39] = 1521; plist[ 40] = 1600; plist[ 41] = 1681; plist[ 42] = 1764; plist[ 43] = 1849; plist[ 44] = 1936; plist[ 45] = 2025; plist[ 46] = 2116; plist[ 47] = 2209; plist[ 48] = 2304; plist[ 49] = 2401; plist[ 50] = 2500; plist[ 51] = 2601; plist[ 52] = 2704; plist[ 53] = 2809; plist[ 54] = 2916; plist[ 55] = 3025; plist[ 56] = 3136; plist[ 57] = 3249; plist[ 58] = 3364; plist[ 59] = 3481; plist[ 60] = 3600; plist[ 61] = 3721; plist[ 62] = 3844; plist[ 63] = 3969; plist[ 64] = 4096; plist[ 65] = 4225; plist[ 66] = 4356; plist[ 67] = 4489; plist[ 68] = 4624; plist[ 69] = 4761; plist[ 70] = 4900; plist[ 71] = 5041; plist[ 72] = 5184; plist[ 73] = 5329; plist[ 74] = 5476; plist[ 75] = 5625; plist[ 76] = 5776; plist[ 77] = 5929; plist[ 78] = 6084; plist[ 79] = 6241; plist[ 80] = 6400; plist[ 81] = 6561; plist[ 82] = 6724; plist[ 83] = 6889; plist[ 84] = 7056; plist[ 85] = 7225; plist[ 86] = 7396; plist[ 87] = 7569; plist[ 88] = 7744; plist[ 89] = 7921; plist[ 90] = 8100; plist[ 91] = 8281; plist[ 92] = 8464; plist[ 93] = 8649; plist[ 94] = 8836; plist[ 95] = 9025; plist[ 96] = 9216; plist[ 97] = 9409; plist[ 98] = 9604; plist[ 99] = 9801; Но стоит в исходном коде поменять строку:
Кликните здесь для просмотра всего текста
Test of dynamic memory
plist[ 0] = 0; plist[ 1] = 2; plist[ 2] = 4; plist[ 3] = 6; plist[ 4] = 8; plist[ 5] = 10; plist[ 6] = 12; plist[ 7] = 14; plist[ 8] = 16; plist[ 9] = 18; plist[ 10] = 20; plist[ 11] = 22; plist[ 12] = 24; plist[ 13] = 26; plist[ 14] = 28; plist[ 15] = 30; plist[ 16] = 32; plist[ 17] = 34; plist[ 18] = 36; plist[ 19] = 38; plist[ 20] = 40; plist[ 21] = 42; plist[ 22] = 44; plist[ 23] = 46; plist[ 24] = 48; plist[ 25] = 50; plist[ 26] = 52; plist[ 27] = 54; plist[ 28] = 56; plist[ 29] = 58; plist[ 30] = 60; plist[ 31] = 62; plist[ 32] = 64; plist[ 33] = 66; plist[ 34] = 68; plist[ 35] = 70; plist[ 36] = 72; plist[ 37] = 74; plist[ 38] = 76; plist[ 39] = 78; plist[ 40] = 80; plist[ 41] = 82; plist[ 42] = 84; plist[ 43] = 86; plist[ 44] = 88; plist[ 45] = 90; plist[ 46] = 92; plist[ 47] = 94; plist[ 48] = 96; plist[ 49] = 98; plist[ 50] = 100; plist[ 51] = 102; plist[ 52] = 104; plist[ 53] = 106; plist[ 54] = 108; plist[ 55] = 110; plist[ 56] = 112; plist[ 57] = 114; plist[ 58] = 116; plist[ 59] = 118; plist[ 60] = 120; plist[ 61] = 122; plist[ 62] = 124; plist[ 63] = 126; plist[ 64] = 128; plist[ 65] = 130; plist[ 66] = 132; plist[ 67] = 134; plist[ 68] = 136; plist[ 69] = 138; plist[ 70] = 140; plist[ 71] = 142; plist[ 72] = 144; plist[ 73] = 146; plist[ 74] = 148; plist[ 75] = 150; plist[ 76] = 152; plist[ 77] = 154; plist[ 78] = 156; plist[ 79] = 158; plist[ 80] = 160; plist[ 81] = 162; plist[ 82] = 164; plist[ 83] = 166; plist[ 84] = 168; plist[ 85] = 170; plist[ 86] = 172; plist[ 87] = 174; plist[ 88] = 176; plist[ 89] = 178; plist[ 90] = 180; plist[ 91] = 182; plist[ 92] = 184; plist[ 93] = 186; plist[ 94] = 188; plist[ 95] = 190; plist[ 96] = 192; plist[ 97] = 194; plist[ 98] = 196; plist[ 99] = 198; *** glibc detected *** ./testd: free(): invalid next size (fast): 0x0938a008 *** ======= Backtrace: ========= /lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x70f01)[0xb74e2f01] /lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x72768)[0xb74e4768] /lib/i386-linux-gnu/i686/cmov/libc.so.6(cfree+0x6d)[0xb74e781d] /usr/lib/i386-linux-gnu/libstdc++.so.6(_ZdlPv+0x1f)[0xb76664bf] /lib/i386-linux-gnu/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0xb7488e46] ./testd[0x80484c1] ======= Memory map: ======== 08048000-08049000 r-xp 00000000 08:08 1392645 /home/vld64/Progi/dynamic/testd 08049000-0804a000 rw-p 00000000 08:08 1392645 /home/vld64/Progi/dynamic/testd 0938a000-093ab000 rw-p 00000000 00:00 0 [heap] b7300000-b7321000 rw-p 00000000 00:00 0 b7321000-b7400000 ---p 00000000 00:00 0 b7470000-b7472000 rw-p 00000000 00:00 0 b7472000-b75ce000 r-xp 00000000 08:06 2212718 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so b75ce000-b75cf000 ---p 0015c000 08:06 2212718 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so b75cf000-b75d1000 r--p 0015c000 08:06 2212718 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so b75d1000-b75d2000 rw-p 0015e000 08:06 2212718 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so b75d2000-b75d5000 rw-p 00000000 00:00 0 b75d5000-b75f1000 r-xp 00000000 08:06 2195460 /lib/i386-linux-gnu/libgcc_s.so.1 b75f1000-b75f2000 rw-p 0001b000 08:06 2195460 /lib/i386-linux-gnu/libgcc_s.so.1 b75f2000-b75f3000 rw-p 00000000 00:00 0 b75f3000-b7617000 r-xp 00000000 08:06 2212715 /lib/i386-linux-gnu/i686/cmov/libm-2.13.so b7617000-b7618000 r--p 00023000 08:06 2212715 /lib/i386-linux-gnu/i686/cmov/libm-2.13.so b7618000-b7619000 rw-p 00024000 08:06 2212715 /lib/i386-linux-gnu/i686/cmov/libm-2.13.so b7619000-b76f9000 r-xp 00000000 08:06 1542216 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17 b76f9000-b76fd000 r--p 000e0000 08:06 1542216 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17 b76fd000-b76fe000 rw-p 000e4000 08:06 1542216 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17 b76fe000-b7705000 rw-p 00000000 00:00 0 b771d000-b7720000 rw-p 00000000 00:00 0 b7720000-b7721000 r-xp 00000000 00:00 0 [vdso] b7721000-b773d000 r-xp 00000000 08:06 2195478 /lib/i386-linux-gnu/ld-2.13.so b773d000-b773e000 r--p 0001b000 08:06 2195478 /lib/i386-linux-gnu/ld-2.13.so b773e000-b773f000 rw-p 0001c000 08:06 2195478 /lib/i386-linux-gnu/ld-2.13.so bfcd6000-bfcf7000 rw-p 00000000 00:00 0 [stack] Аварийный останов То есть при заполнении массива одними числами ошибки не возникает, а при заполнении другими - возникает. В чём может быть причина столь странного поведения? P.S. Дистрибутив Debian 7.0 Версия g++ (Debian 4.7.2-5) 4.7.2
0
|
||||||||||||||||||||||||||
| 23.10.2013, 01:34 | |
|
Ответы с готовыми решениями:
3
Странное поведение массива
Странное поведение при использовании массива как параметра |
|
18 / 18 / 4
Регистрация: 05.05.2013
Сообщений: 88
|
|
| 23.10.2013, 01:53 | |
|
Сейчас возможности закомпилить нету, но Вы попробуйте скомпилить другим компилятором, например gcc.
0
|
|
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||
| 23.10.2013, 02:21 | ||
|
Нужно заменить скобки на [].
1
|
||
|
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 8
|
|
| 23.10.2013, 10:07 [ТС] | |
|
0
|
|
| 23.10.2013, 10:07 | |
|
Помогаю со студенческими работами здесь
4
Парсинг динамически создаваемого контента Ширина и высота динамически создаваемого объекта Эффекты появления динамически создаваемого компонента Прозрачность для динамически создаваемого div Высота/ширина динамически создаваемого элемента Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|