Я бы хотел разобраться в том, каким образом названные функции реализуют сохранение информации о последней возникшей ошибке в текущем вызывающем потоке.
Как это реализуется?
И каким способом можно реализовать аналогичный функционал? Ну, например, предоставить для своей библиотеки аналог GetLastError()/errno().
Начиная с 11 стандарта (обоих языков) можно использовать спецификатор хранения thread_local. При использовании компиляторов, которые его не поддерживают - аналогичные функции ОС, например Thread Local Storage в WinAPI. Пример использования TLS в библиотеке можно посмотреть здесь: Using Thread Local Storage in a Dynamic-Link Library
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости