ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
919419 Топик полностью
Nikolay_Po (04.05.2019 22:00 - 23:20, просмотров: 137) ответил SciFi на С какой целью пробовать? Просто интересно.
Чтобы красиво было и понятно. Тогда и работает лучше. Тут:
return CRC( (uint8_t*) &my_const , 4); // в функцию передается константа, а не ее адрес
дело может быть в том, что CRC() в нескольких местах вызывается с длиной данных 4. И компилятор мог оптимизировать саму функцию CRC() так, что она, де-факто, принимает 32-битные значения вместо указателей и во всех вызовах этой реализации (не исключаю, что для других мест будет другая реализация, если приоритет на оптимизацию скорсти) функции ей передаётся именно значение. Если же реализация только одна, один экземпляр в машинном коде, то передача то адреса, то значения вперемешку - действительно баг. Тут, пораскинув мозгами, согласен. P.S. Объяснение с какой целью делать тут (внимание, рекурсия!): http://caxapa.ru/919437.html