Я хочу использовать Shiny на базе большого кода на основе кода C++, но я бы предпочел не добавлять необходимые PROFILE_FUNC()
звонки в мой источник. Я считаю, что достаточно легко написать скрипт, который для каждого исходного файла, regex-ищет определения функций, добавляет вызов макроса сразу после открытия скобки и передает результат в g ++; но это кажется ужасно очевидным случаем для кода исходного кода, поэтому мне трудно поверить, что никто не придумал лучшего решения.Простая C++ исходная аппаратура?
К сожалению, поиск по окрестностям Я мог найти только ссылки на инструменты LLVM/clang и нечетный исследовательский инструмент, которые выглядят как чрезмерно сложные решения для моей сравнительно простой проблемы. На самом деле, кажется, нет простого способа выполнить простые автоматические изменения кода для кода C/C++ непосредственно перед компиляцией.
Это так? Или я чего-то не хватает?
Обновление: Я забыл упомянуть об этом «C++ code base» - это родное приложение, которое я портирую на Android. Поэтому я не могу использовать ни gprof (который недоступен на Android), Valgrind (для которого требуется более старая версия NDK, чем то, что я использую), ни android-ndk-profiler (который предназначен для динамических библиотек, загружаемых в Android Activities , либо Java, либо native, а не простые исполняемые файлы). Отсюда мой взгляд на Блестящий.
Обновление 2: Несмотря на предыдущие претензии, мне удалось до build Valgrind on Android NDK r8e, поэтому я решил использовать его вместо Shiny. Однако я все еще думаю, что исходный вопрос верен: нет ли простого инструмента для выполнения простых изменений времени компиляции исходных файлов C/C++ - своего рода макропроцессор на стероидах?
дргоГо доступен на андроид - с источником платформы - например, на Mac OS /prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6/bin/arm-eabi-gprof – gheese
Инструмент посмертного gprof, да. Но без gprof lib для ссылки на исполняемый файл и создания дампа профиля, что хорошего в нем? – xperroni