У меня возникли некоторые проблемы с пониманием макроса.
Так как его собственный код не может предоставить точный код.Таким образом, переименование и совместное использование.
Основная идея заключается в том, что код на стороне сервера контролирует обмен данными (пакеты данных) и устанавливает некоторые биты состояния (для отметки, если данные получены правильно).
В одномиз потока кода, я сталкиваюсь с вложенным циклом for, который использует макрос в конце каждой итерации 1-го цикла for:
for( msg_no=0U; msg_no<packet_num; msg_no++ )
{
for( rec_no=0U; rec_no<current_rec_number ; rec_no++ )
{
SetError( ERROR_COMM_01_FAILURE, current_rec_number,
( current_rec_number<=TOTAL_RECORD_NUM )?0:1 );
}
}
Ниже приведены текущие значения (из сеанса отладки) каждой переменной:
packet_num = 1
ERROR_COMM_01_FAILURE = 0 ( --> #define ERROR_COMM_01_FAILURE 0 )
current_rec_number = 0
TOTAL_RECORD_NUM = 8 ( --> #define TOTAL_RECORD_NUM 8 )
Определение макроса выглядит следующим образом:
#define SetError(temp_1, temp_2, temp_3) (temp_1)
Я не уверен, что именно устанавливается с помощью этого макроса или как этот макрос функционирует.Первым параметром здесь является temp_1, который заменяется на ERROR_COMM_01_FAILURE.Поэтому не уверен, что здесь возвращается или устанавливается.
Извините, если информации недостаточно.Пожалуйста, спросите, если требуется дополнительная информация.
Спасибо