==11828== Invalid read of size 1
==11828== at 0x109153: main (in /home/jcmvbkbc/tmp/toster/a.out)
==11828== Address 0x4a4204a is 0 bytes after a block of size 10 alloc'd
==11828== at 0x483577F: malloc (vg_replace_malloc.c:299)
==11828== by 0x109146: main (in /home/jcmvbkbc/tmp/toster/a.out)
==11846== Invalid read of size 1
==11846== at 0x109153: main (vg.c:6)
==11846== Address 0x4a4204a is 0 bytes after a block of size 10 alloc'd
==11846== at 0x483577F: malloc (vg_replace_malloc.c:299)
==11846== by 0x109146: main (vg.c:4)
массив нужно передать, а в ассемблере их нет
Где можно найти размеры типов данных?
's/\([^@]*\)/#define \1 \1/'
и подключить получившийся файл? Не хочу Си. Хочу низкоуровневое программирование.
сложновато звучит
Как мне узнать размер аргументов?
как их можно по-быстрому считать?
1, 1, 1, 2, 2, 3
сколько повторяющихся элементов -- два (1 и 2) или 5 (три единицы и две двойки)?int reps = 0;
int i, j;
for (i = m1; i <= m2; ++i) {
for (j = m1; j <= m2; ++j) {
if (i != j && arr[i] == arr[j]) {
if (i < j)
++reps;
break;
}
}
}
Аргументы printf в виде слов кидаются на стек по порядку
И да, это undefined behaviour, кто ж спорит.
Чтобы жена, сосед и ремонтная мастерская не подменили софт который спрашивает пароль от /home на софт, который этот пароль куда-нибудь, например, сохраняет.