Как вы, возможно, знаете, ШТЫРЬ динамический бинарный инструментальный инструмент Используя Pin, например, я могу измерять каждую загрузку и сохранять в своем приложении. Мне было интересно, существует ли подобный инструмент, который внедряет код во время компиляции (используя более высокий уровень информации, не требуя от нас написания прохода LLVM), а не во время выполнения, как Pin. Я особенно заинтересован в таком инструменте для LLVM.
Вы могли бы написать LLVM проходит самостоятельно и примените их к своему коду, чтобы «инструментировать» его во время компиляции. Они работают на LLVM IR и производят LLVM IR, поэтому для некоторых задач это будет вполне естественно, а для других задач это может быть громоздким или трудным (из-за различий между LLVM и IR и исходным языком). Это зависит.
Других решений пока нет …