Почему время ISO C/POSIX ()имеет необязательный аргумент-указатель

Вы получаете сообщение об ошибке dist1: unbound variable, поскольку вы установили параметр оболочки nounset. Затем вы используете переменную dist1до ее установки.


/REQUESTED STRUCTURE DATA/ { ++n; m = 0 }

$6 == "|r|" { r[n,++m] = $NF }

END {
    for (j = 1; j <= m; ++j) {
        $0 = j - 1
        for (i = 1; i <= n; ++i)
            $(i + 1) = r[i,j]

        print
    }
}

(перенаправить вывод, например. awk... >DEMLIR_task.txtдля сохранения в новый файл)

Данные поступают в виде разделов, каждый раздел начинается со строки REQUESTED STRUCTURE DATAи содержит ряд записей. Записи можно найти, ища строку |r|в 6-м поле.

Приведенная выше программа awkвыводит числа, собранные из последнего поля каждой записи в разделе в столбцах, каждой строке предшествует счетчик. Предполагается, что может быть любое количество записей для каждой секции(mв коде )и что может быть любое количество секций во входных данных(nв коде ).

Тестирование:

$ awk -f script.awk file
0 1.869679 1.869821 1.869881
1 1.530989 1.531483 1.531900
2 1.849134 1.849626 1.849678
2
26.04.2021, 09:12
1 ответ

Итак, как MC68020 сказал в комментариях, C не имел типа longв то время, самое старое вхождение, которое я смог найти, находится в lib/time.s второго издания Unix, файле датировано 1972 -06 -07 на этом сайте, указанном выше, с этим источником (PDP -11 в сборе):

/ C library -- time

/ tvec = time(tvec);
/
/ tvec[0], tvec[1] contain the time

   .globl  _time

.data
_time:
    1f
.text
1:
    mov 2(sp),r0
    sys time
    mov ac,(r0)
    mov mq,2(r0)
    rts pc

Интересно, что кажется, что он всегда имел возвращаемое значение (tvec = time(tvec);), предполагая, что tvecявляется каким-то 2 -компонентным массивом из 16 -битовых значений, если это назначение имеет какое-либо значение.

2
28.04.2021, 22:50

Теги

Похожие вопросы