Один весьма эффективный подход к обработке строковых литералов журнала в среде C / C ++ - это выделить их для отдельной секции компоновщика, которая отделена от конечного двоичного файла.
Операторы журнала определены в такойспособ компиляции указателей на эти строки, и сами значения указателя (или смещения от базового адреса, если это экономит место), которые хранятся в журнале.
Секция раздетых строк может затем использоваться длявосстановить полную строку журнала из значений в сокращенном журнале.
Естественно, что конкретные средства достижения этого различаются для разных платформ, наборов инструментов и т. д. и усложняются включением нелитеральных данных в записи журнала.- но все это вполне осуществимо во встроенном контексте.