#2 Re: Sanny Builder и CLEO » Вопросы и предложения по Sanny Builder » 15-11-2015 19:11

Seemann wrote:

можешь выложить полный .cs файл, на котором воспроизводится проблема?

Я же сказал, что код не CLEO, а мейна, точнее MPack'овского scr.scm.

#3 Re: Sanny Builder и CLEO » Вопросы и предложения по Sanny Builder » 14-11-2015 15:39

Здравствуйте. Как-то раз писал я код, да и заметил баг компилятора:

var
$DRUGAN_X: array 3 of Float
$DRUGAN_Y: array 3 of Float
$DRUGAN_Z: array 3 of Float
$DRUGAN_PM: array 3 of Marker
end
$DRUGAN_X[0] = 2202.1089
$DRUGAN_Y[0] = -1977.2307
$DRUGAN_Z[0] = 13.554
$DRUGAN_X[1] = 2453.4404
$DRUGAN_Y[1] = -1984.6873
$DRUGAN_Z[1] = 13.554
$DRUGAN_X[2] = 2643.999
$DRUGAN_Y[2] = -2059.3098
$DRUGAN_Z[2] = 13.554

for 0@ = 0 to 2 step 1
    018A: $DRUGAN_PM[0@] = create_checkpoint_at $DRUGAN_X[0@] $DRUGAN_Y[0@] $DRUGAN_Z[0@] 
end

Баг заключается в том, что при выполнении этих строк значение переменной $DRUGAN_Y[0] меняется на значение $DRUGAN_X[2], а $DRUGAN_Z[0] - на $DRUGAN_Y[2]. Я мало что понимаю в серьёзном программировании, но знающий человек подсказал мне, что такое происходит из-за того, что компилятор неправильно выделяет память под массив типа Marker, и поэтому элементы индексируются неверно. Надо отметить, замещение происходит только при своих переменных. Код мейновский, не CLEO.
Я очень надеюсь, что Seemann прислушается к этой проблеме и по возможности исправит досадный баг.

Board footer

Powered by FluxBB