Так что мне нужно перевести библиотеку C на чистую Java, пока она выглядит хорошо, но я застрял здесь.
Может кто-нибудь объяснить мне, для чего нужен следующий указатель?
double *DTimeSigBuf[MAX_TIME_CHANNELS];
Хорошо, я знаю, что это указатель двойного типа с именем DTimeSigBuf, но что это в скобках? также MAX_TIME_CHANNELS определяется в файле h как:
#define MAX_TIME_CHANNELS 2
затем в коде это постоянное значение изменяется, как и его указание куда-то еще, но я не знаю, что именно означает. это эквивалентно сказать:
double *DTimeSigBuf = MAX_TIME_CHANNELS;
Если я хорошо помню, в ассемблере было что-то похожее, например: mov [BX], CL
, называемый регистром режима косвенной адресации, это как-то связано с этим? Я знаю, что я могу быть полностью потерян! потому что, как видно из названия, я программист Java.
И другой вопрос, каков эффект от этого:
DTimeSigBuf[chanNum] = (double*)malloc(block_size_samples*sizeof(double));
Где block_size_samples - это int, а chanNum - это переменная для итератора?
Пожалуйста, помогите! Я знаю, я все время гуглил.
Спасибо, ребята:)