ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 июля
1368747 Топик полностью
Nikolay_Po (04.11.2023 17:59, просмотров: 139) ответил Nikolay_Po на Ещё, проблема может быть в ошибках указателей или индексов. При включении LTO, есть предупреждения вроде:
Не понимаю, в чём дело с предупреждениями. При включении оптимизации, жалуется на доступ функции icmMul3x3() к области меньшего размера, чем аргумент функции. При этом, оба аргумента при вызове функции имеют тип double[3][3]. Первый - элемент структуры по указателю на структуру, второй - просто массив в теле функци set_view(): 
xicc/cam02.c: In function ‘set_view’:
xicc/cam02.c:641:9: warning: ‘icmMul3x3’ accessing 72 bytes in a region of size 24 [-Wstringop-overflow=]
641 | icmMul3x3(s->cc, tm);
    | ^
xicc/cam02.c:641:9: note: referencing argument 1 of type ‘double[3][3]’
xicc/cam02.c:641:9: note: referencing argument 2 of type ‘double[3][3]’
icc/icc_util.c:234:6: note: in a call to function ‘icmMul3x3’
234 | void icmMul3x3(double dst[3][3], double src[3][3]) {
    | ^