- Код: Выделить всё
fpc_dynarray_length
000000000040B960 4885c9 test %rcx,%rcx
000000000040B963 740d je 0x40b972 <fpc_dynarray_length+18>
000000000040B965 4883e910 sub $0x10,%rcx
[b]000000000040B969 488b4108 mov 0x8(%rcx),%rax[/b]
000000000040B96D 48ffc0 inc %rax
000000000040B970 eb0a jmp 0x40b97c <fpc_dynarray_length+28>
000000000040B972 48b80000000000000000 movabs $0x0,%rax
000000000040B97C c3 retq
000000000040B97D 0000 add %al,(%rax)
000000000040B97F 00 add %cl,-0x7b(%rax)
Объясните, в чем может быть проблема? Если я правильно понимаю, длинна динамического массива записывается в первые 4 байта перед нулевым элементом массива, тогда что происходит в этой функции и откуда берется ошибка записи в память при ее выполнении? Спасибо.