Gperf, как известно, работает очень хорошо. Насколько да, это "безопасно".
Сложность обычно составляет порядка чтения 2 символов, поиска в 2 таблицах и сравнения одной строки. Надежность 100%. Если что-то пошло не так, вы получите сообщение об ошибке, иначе оно будет работать.
Стоимость обслуживания находится между «низким» и «несуществующим», вам нужно выяснить, как записать входной файл один раз , затем запустить его через gperf один раз , и скомпилируйте это. Это простой C-код, который может делать каждый 10-20-летний компилятор. Вызывайте функцию поиска всякий раз, когда вы хотите найти значение, это все, что нужно сделать.
Вам нужно будет снова запустить входной файл через gperf, если вы его измените, очевидно ... в противном случае это все. Если ваш список ключей не меняется, вам больше не нужно ничего делать. Я использовал gperf в нескольких проектах для полного удовлетворения.