Будет ли функция реентерабельная больше зависит от Вас, а не от компилятора.
A) Реентерабельная функция не должна хранить статические данные в промежутках между вызовами (все данные передаются из вызывающей функции). Б) Реентерабельная функция не должна возвращать указатель на статические данные. В) Реентерабельная функция не может вызывать нереентерабельную функцию. Г) Если нужен доступ к общим ресурсам, то необходимо использовать механизм блокировки (простейшим вариантом является запрещение прерываний на время "критической операции").
|